Ich habe einen Edittext, der wie das Textfeld in iOS funktionieren muss. Wenn ich darauf klicke, sollte es bearbeitbar sein, sonst sollte es deaktiviert werden. Nehmen wir an, der Benutzer möchte einen bestimmten Wert bearbeiten und wenn er die Zurück-Taste drückt, möchte ich zusammen mit der Tastaturabkürzung, dass der Editiertext zum Bearbeiten deaktiviert wird.Detect entlassen Tastaturereignis in Android
Alles was ich benutze ist die Methode setCursorVisible (true) und setCursorVisible (false). Ich habe versucht, keyCode-Ereignisse zu verwenden, aber sie helfen nicht. Das habe ich bisher probiert:
@Override
public void onBackPressed() {
// Had the InputMethodManager service here..
if(imm.isAcceptingText())
{
Toast.makeText(ProfileActivity.this,"working",Toast.LENGTH_SHORT).show();
}
else {
super.onBackPressed();
Toast.makeText(ProfileActivity.this,"back pressed called",Toast.LENGTH_SHORT).show();
}
}
Auch versucht KeyDown Event zu überschreiben.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//replaces the default 'Back' button action
if(keyCode==KeyEvent.KEYCODE_BACK)
{
Log.d("123","called,called");
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override public boolean onKeyPreIme (int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {// Benutzer Zurück-Taste gedrückt hat. So verstecken Sie die Tastatur InputMethodManager mgr = (InputMethodManager) context.getSystemService (Context.INPUT_METHOD_SERVICE); mg.hideSoftInputFromWindow (this.getWindowToken(), 0); // TODO: Verbergen Sie Ihre Ansicht, wie Sie es in Ihrer Aktivität tun } return false; } – AndroidMech
Ich habe versucht, dies zu verwenden ... aber die Aktivität wird beendet, sobald die Taste gedrückt wird. Ich möchte, dass die Aktivität beim zweiten Drücken beendet wird. Beim ersten Zurückdrängen, Tastatur schließen und setCursorVisible (false) ist was ich erwarte. – AndroidMech
Sie meinen so: http://stackoverflow.com/questions/8430805/android-clicking-twice-the-back-button-to-exit-activity? – Slartibartfast