Ich habe versucht, dies für die letzten drei Stunden zu arbeiten, und ich brauche jetzt deine Hilfe. Ich möchte einfach den Text aus meinem editText aufzuzeichnen, wenn der Benutzer „done“ klickt:Warum kann ich keinen Text schreiben?
e.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.v(TAG, "KEYCODE: " +keyCode);
Toast.makeText(MainActivity.this, "" +keyCode, Toast.LENGTH_SHORT).show();
if ((keyCode == EditorInfo.IME_ACTION_DONE) && (event.getAction() == KeyEvent.ACTION_DOWN)) {
Log.v(TAG, "DONE!");
Toast.makeText(MainActivity.this, "" +e.getText(), Toast.LENGTH_LONG).show();
return false;
}
return false;
}
});
Hier ist der XML:
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignBottom="@+id/textView4"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/textView4"
android:layout_toEndOf="@+id/textView4"
android:imeOptions="actionDone"
android:inputType="text"
/>
Das Problem ist, dass mein onKey
nicht einmal irgendwelche Toast Anzeige, und ich kann die Benutzereingabe nicht erhalten, wenn sie auf Fertig klicken. Ich habe versucht, so viele Dinge in meiner if-Anweisung zu ändern, aber jetzt wird auch die onKey
nicht aufgerufen. Was mache ich falsch?
Vielen Dank für die Zeit nehmen, meine Frage zu beantworten :)
Dank soviel versuchen können, gelöst Sie mein Problem, das ich für ein paar Stunden stecken geblieben war. Wofür sollte onKeyListener dann verwendet werden? –
Erneut von der Dokumentation 'sollte es nur für Fälle verwendet werden, in denen eine Anwendung eine eigene Bildschirmtastatur hat und auch harte Tastaturereignisse verarbeiten soll, um sie zu entsprechen. Also rate ich mal, wenn Sie eine eigene Tastatur erstellen, dann könnte dies vielleicht verwendet werden, um die Tastaturereignisse anzupassen. – Antrromet
Wenn ich die Tastatur verstecken möchte, nachdem sie fertig sind, kann ich einfach falsch zurückgeben, oder? –