18

アプリに編集テキストがあります。ユーザーが編集テキストに触れると、テキスト全体が選択され、入力を開始するとテキストがクリアされます。例として、ブラウザのアドレス バーがあります。これを行う方法はありますか?助けてください。

4

6 に答える 6

32

を使用して、EditText 内のすべてのテキストを選択できます。

android:selectAllOnFocusそしてまたsetSelectAllOnFocus(boolean)

于 2012-11-21T04:44:25.837 に答える
6

呼び出しEditText.setSelectAllOnFocus(boolean selectAllOnFocus)て、フォーカスのあるすべてのテキストを選択します。

通話EditText中のクリック リスナーを設定するonClickedittext.selectAll();

于 2012-11-21T04:38:42.133 に答える
3

main.xml ファイルに属性を追加します。

android:selectAllOnFocus="true"

次に、すべてのテキストが選択され、ユーザーが何かを入力すると、それを削除します。

于 2012-11-21T04:38:25.907 に答える
1

android:hint代わりにプロパティを使用するandroid:textと、特別なコードなしで必要なものを取得できます。

于 2012-11-21T05:10:15.493 に答える
0

これは機能しており、すべてのテキストが選択され、ユーザーが何かを入力するとそれを削除します。

             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);
于 2014-11-24T09:20:29.897 に答える
0

android:selectAllOnFocusまたはを使用して、EditText 内のすべてのテキストを選択できますsetSelectAllOnFocus(boolean)

すべてのテキストが選択されたときにフラグを設定します。次に、 EditText でaddTextChangedListenerメソッドを使用してテキストの変更を検出し、 TextWatcherクラスを実装する内部クラスをクラスに実装または定義します。

このウォッチャー クラス メソッドでは、設定したフラグをチェックして、すべてのテキストが選択されているかどうかを示します。true の場合は、実行しますTextView.setText("")。これにより、テキストがクリアされます。フラグを再度 false に設定して、その後のテキストの変更によってテキストがクリアされないようにします。

于 2012-11-21T05:19:18.747 に答える