[解決済み] EditTextから/へのコピー/ペーストを無効にする方法
2022-05-18 01:46:36
質問
私のアプリケーションでは、登録画面があり、ユーザがテキストを
EditText
フィールドにテキストをコピー/ペーストできないようにしたいのです。そこで
onLongClickListener
にそれぞれ
EditText
を追加して、コピー/ペースト/入力メソッドやその他のオプションを表示するコンテキストメニューが表示されないようにしました。そのため、ユーザーは編集フィールドにコピー/ペーストすることができません。
OnLongClickListener mOnLongClickListener = new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// prevent context menu from being popped up, so that user
// cannot copy/paste from/into any EditText fields.
return true;
}
};
しかし、ユーザーが Android のデフォルト以外のサードパーティのキーボードを有効にしている場合、問題が発生します。そのキーボードにはコピー/ペーストのボタンがあったり、同じコンテキストメニューが表示されたりすることがあります。そのようなシナリオでコピー/貼り付けを無効にするにはどうすればよいでしょうか?
他にコピー/貼り付けを行う方法があれば教えてください。(そして、おそらくそれらを無効にする方法も。)
どんな助けでも感謝します。
どのように解決するのですか?
API レベル 11 以上を使用している場合、コピー、貼り付け、切り取り、およびカスタム コンテキスト メニューを表示しないようにすることができます。
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public void onDestroyActionMode(ActionMode mode) {
}
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
return false;
}
});
onCreateActionMode(ActionMode, Menu)でfalseを返すと、アクションモード(Select All, Cut, Copy and Pasteアクション)が開始されないようにしました。
関連
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] AndroidでEditTextのテキスト長を制限する最も良い方法は何ですか?
-
[解決済み] EditTextのカーソル色を設定する
-
[解決済み] EditTextのアンダーバーを非表示にする方法
-
[解決済み] EditTextから/へのコピー/ペーストを無効にする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン