DoneEkran klavyesinin tuşuna ne zaman basıldığını tespit etmek mümkün mü ?
DoneEkran klavyesinin tuşuna ne zaman basıldığını tespit etmek mümkün mü ?
Yanıtlar:
Evet mümkün:
editText = (EditText) findViewById(R.id.edit_text);
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// do your stuff here
}
return false;
}
});
Aşağıdaki kitaplıkları içe aktarmanız gerekeceğini unutmayın:
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
Editör Bilgisi, Android uygulamanızda herhangi bir tür kullanıcı girdisiyle uğraşmanız gerektiğinde en kullanışlı sınıftır. Örneğin, oturum açma / kayıt / arama işlemlerinde daha doğru klavye girişi için kullanabiliriz. Bir düzenleyici bilgi sınıfı, bir giriş yönteminin doğrudan metin içeriğini düzenleme ile iletişim kuracağı metin düzenleme nesnesi için çeşitli öznitelikleri açıklar.
IME_ACTION_DONE ile deneyebilirsiniz .
Bu eylem Done, hiçbir şeyin girilmemesi için bir işlem gerçekleştirir ve IMEkapatılır.
SetOnEditorActionListener'ı kullanma
EditTextObj.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_DONE) {
/* Write your logic here that will be executed when user taps next button */
handled = true;
}
return handled;
}
});
Butterknife kullanarak bunu yapabilirsiniz
@OnEditorAction(R.id.signInPasswordText)
boolean onEditorAction(TextView v, int actionId, KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_DONE || event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
/* Write your logic here that will be executed when user taps next button */
}
return false;
}
EditorInfo.IME_ACTION_SEARCHyerine lens arama düğmesi için kullanmam gerekiyordu .