Ho un edittext che deve funzionare come il campo di testo in iOS. Quando faccio clic su di esso, dovrebbe diventare modificabile altrimenti dovrebbe essere disabilitato. Supponiamo che l'utente desideri modificare un certo valore e quando preme il pulsante Indietro, insieme alla tastiera, si deseleziona e si desidera che l'edittoxt venga disabilitato per la modifica.Rileva eliminazione evento tastiera in Android
Tutto quello che sto usando è il metodo setCursorVisible (true) e setCursorVisible (false). Ho provato a utilizzare gli eventi keyCode ma non stanno aiutando. Questo è quello che ho provato fino ad ora:
@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();
}
}
Anche provato a ignorare l'evento keyDown.
@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 pubblico onKeyPreIme booleana (int keyCode, evento KeyEvent) { se (keyCode == KeyEvent.KEYCODE_BACK) {// utente ha premuto il tasto Indietro. Quindi nascondi la tastiera InputMethodManager mgr = (InputMethodManager) context.getSystemService (Context.INPUT_METHOD_SERVICE); mgr.hideSoftInputFromWindow (this.getWindowToken(), 0); // TODO: Nascondi la vista mentre lo fai nella tua attività } return false; } – AndroidMech
Ho provato a usare questo ... ma l'attività è terminata non appena viene premuto il tasto indietro. Voglio che l'attività venga completata la seconda volta che torno indietro .. Sul primo backpress, chiudi tastiera e setCursorVisible (false) è quello che mi aspetto – AndroidMech
Intendi questo: http://stackoverflow.com/questions/8430805/android-clicking-twice-the-back-button-to-exit-activity? – Slartibartfast