8

内部にテキストを含む EditText オブジェクトはほとんどありません。EditText が初めてフォーカスを取得してその中のテキストを削除することを望みますが、それは初めての場合のみです。

どうすればできますか?

以下に例を示します。「someText」というテキストを含む SomeThing という EditText があります。ユーザーが初めて SomeThing に触れたときに、「someText」を削除したい。テキストが削除され、ユーザーが自分のテキスト、今回は「someOtherText」を入力し、EditText が他の EditText のフォーカスを失ったとします。今回、ユーザーが SomeThing をタップすると、「someOtherText」は 2 回目のフォーカスであるため削除されません。

4

2 に答える 2

12

マタン、これがあなたが見ているものかどうかはわかりませんが、編集テキストの「ヒント」を表示したいと思います

<EditText
.
.
 android:hint="Please enter your name here">

例については、このhttp://www.giantflyingsaucer.com/blog/wp-content/uploads/2010/08/android-edittext-example-3a.jpgを確認してください

于 2012-10-23T02:22:12.703 に答える
5

のプレースホルダーを追加する方法を探している場合は、対応するXMLファイルにEditText追加するか、のメソッドを呼び出します。android:hint = 'some text'setHint('some text')EditText

それ以外の場合は、を使用しOnFocusChangeListener()てフォーカス取得イベントに応答できます。が初めてEditTextフォーカスされるかどうかを確認するには、別のBoolean変数(たとえば)を使用して、メソッドisFirstTimeGetFocusedで初期化します。焦点を合わせたら、;に設定します。trueonCreate()EditTextisFirstTimeGetFocusedfalse

editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus && isFirstTimeGetFocused){
        editText.setText("");
        isFirstTimeGetFocused = false;
    }
});
于 2012-10-23T02:44:44.397 に答える