アプリに編集テキストがあります。ユーザーが編集テキストに触れると、テキスト全体が選択され、入力を開始するとテキストがクリアされます。例として、ブラウザのアドレス バーがあります。これを行う方法はありますか?助けてください。
6 に答える
を使用して、EditText 内のすべてのテキストを選択できます。
呼び出しEditText.setSelectAllOnFocus(boolean selectAllOnFocus)
て、フォーカスのあるすべてのテキストを選択します。
通話EditText
中のクリック リスナーを設定するonClick
edittext.selectAll();
main.xml ファイルに属性を追加します。
android:selectAllOnFocus="true"
次に、すべてのテキストが選択され、ユーザーが何かを入力すると、それを削除します。
android:hint
代わりにプロパティを使用するandroid:text
と、特別なコードなしで必要なものを取得できます。
これは機能しており、すべてのテキストが選択され、ユーザーが何かを入力するとそれを削除します。
editText.setSelectAllOnFocus(true);
editText.requestFocus();
editText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) catalougeJobDetailFragment
.getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(commentEt, 0);
}
}, 20);
android:selectAllOnFocus
またはを使用して、EditText 内のすべてのテキストを選択できますsetSelectAllOnFocus(boolean)
。
すべてのテキストが選択されたときにフラグを設定します。次に、 EditText でaddTextChangedListenerメソッドを使用してテキストの変更を検出し、 TextWatcherクラスを実装する内部クラスをクラスに実装または定義します。
このウォッチャー クラス メソッドでは、設定したフラグをチェックして、すべてのテキストが選択されているかどうかを示します。true の場合は、実行しますTextView.setText("")
。これにより、テキストがクリアされます。フラグを再度 false に設定して、その後のテキストの変更によってテキストがクリアされないようにします。