#android
#Android
Вопрос:
У меня есть EditText с прослушивателем.
edittext.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) amp;amp;
(keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
return true;
}
return false;
}
});
Теперь я хочу использовать данные, введенные пользователем в текстовое поле в моей программе, без нажатия пользователем enter. (Если я удаляю (keyCode == KeyEvent.KEYCODE_ENTER)
, то программа по какой-то причине зависает).
Что я должен сделать, чтобы определить, что пользователь ввел какой-то символ в текстовое поле?
Ответ №1:
Я думаю, вы хотите реализовать функциональность, например, всякий раз, когда пользователь вводит любой символ, который вы хотите проверить, если это так, то для вас есть класс TextWatcher. В котором вы можете переопределить его 3 метода: afterTextChanged
, beforeTextChanged
и onTextChanged
.
mPasswordLength = (EditText)findViewById(R.id.password_length);
mPasswordLength.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});