OnClickListener слушает только во второй раз - PullRequest
2 голосов
/ 06 декабря 2011

У меня есть editText и я добавил к нему onClickListener.В методе щелчка я просто очищаю текст.Когда я нажимаю editText в первый раз, появляется клавиатура.Но это не входит в метод onClick.Во второй раз, когда я щелкаю по нему, он вызывается и очищает текст.

qtyEditTxt=(EditText)findViewById(R.id.qtyet);
qtyEditTxt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                qtyEditTxt.setText("");             
            }
        });

Я увидел вопрос с ответом, в котором говорилось, что android: focusableInTouchMode имеет значение false.Но тогда я не смогу ввести текст.Пожалуйста, помогите мне с этим

Ответы [ 4 ]

4 голосов
/ 06 декабря 2011

Как насчет фокуса?

final EditText qtyEditTxt= (EditText) findViewById(R.id.qtyet);
qtyEditTxt.setOnFocusChangeListener(new OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean isFocus) 
    {
        if (isFocus)
        {
            qtyEditTxt.setText("");             
        }
    }
});

Отредактировано:

Текст по умолчанию?Вот и все:)

android:hint="Enter Quantity"
2 голосов
/ 06 декабря 2011

Поведение, которое вы пытаетесь иметь, очень похоже на уже существующую функцию EditText.

Взгляните на: http://developer.android.com/reference/android/widget/TextView.html#attr_android:hint

1 голос
/ 06 декабря 2011

ClickListener не является хорошим выбором для editText.используйте

editText.setOnEditorActionListener(new TextWatcher() {

            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub

            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

            }
        })
    }
0 голосов
/ 21 февраля 2015

Просто добавьте <requestFocus /> сразу после закрытия тега EditText в файле layout.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...