Android выполняет действие при вводе нажмите в редактировать текст
Я пытаюсь выполнить действие, поиск, после того, как пользователь нажимает ввод при вводе текста редактирования. Это не работает. Коды:
edtSearch.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER){
System.out.println("test");
return true;
}
return false;
}});
XML для edittext,
<EditText
android:id="@+id/edtSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" >
<requestFocus />
</EditText>
Любая идея, почему это не работает.
1 ответ
Вы должны установить тип ввода и параметры IME, например, так:
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:imeOptions="actionDone">`
и внутри вашей деятельности установите OnEditorActionListener в EditText:
edit.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
Log.i(TAG,v.getText().toString());
}
return false;
}
});