14
Chcę zrobić kilka rzeczy na klawiaturze miękkiej naciśnij klawisz. Zobacz mój kod i wynik poniżej. Wykonuje dwa razy, ale chcę, aby był wykonywany tylko raz. Jak to naprawić?Miękka klawiatura wprowadź kluczowy uchwyt zdarzenia
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt = (EditText)findViewById(R.id.txt);
txt.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
Log.e("test","--------- on enter");
return false;
}
return false;
}
});
}
prawdopodobnie powinien iść do ACTION_UP zamiast, tak więc użytkownik może anulować zdarzenie mój zdejmując lub jej palec? I dodaj KeyEvent.KEYCODE_DPAD_CENTER dla tych. – Kenneth
https://developer.android.com/reference/android/view/View.OnKeyListener.html: 'Wywoływany, gdy klucz sprzętowy jest wywoływany do widoku.". To nie zadziała dla miękkiej klawiatury. – mbonnin
ustawienie inputType = "text" w widoku EditText, sprawia, że działa on dla mnie na klawiaturze programowalnej – SammyT