eine benutzerdefinierte EditText erstellen wie mit einer Schnittstelle folgen:
public class CustomEditText extends EditText {
public void setHandleDismissingKeyboard(
handleDismissingKeyboard handleDismissingKeyboard) {
this.handleDismissingKeyboard = handleDismissingKeyboard;
}
private handleDismissingKeyboard handleDismissingKeyboard;
public interface handleDismissingKeyboard {
public void dismissKeyboard();
}
@SuppressLint("NewApi")
public CustomEditText(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
// TODO Auto-generated constructor stub
}
public CustomEditText(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// TODO Auto-generated constructor stub
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_UP) {
handleDismissingKeyboard.dismissKeyboard();
return true;
}
return super.dispatchKeyEvent(event);
}
dann in Ihrer Aktivität erstellen Sie Ihre CustomEditText initialisieren und zu verwenden:
customEditText.setHandleDismissingKeyboard(this);
dann implementieren Klasse und überschreiben Methode und setzen Sie den Code in dass
für mehr Informationen über meine Antwort alles, was Sie brauchen, ist onKeyPreIme
, können Sie das in Ihrer EditText-Klasse überschreiben (wie ich Post für Sie), um alle Schlüssel auf, wie zurück Schlüssel oder andere Tastaturtaste, Ich habe eine innere Schnittstelle in benutzerdefinierten Klasse, um Rückruf von dieser Klasse zu jeder Aktivität oder Klasse, die Sie wollen, können Sie mit tun Statische Methode auch, und wie Sie verhindern wollen, Tastatur zu entlassen, können Sie einfach true
in diesem zurückgeben.
für CustomEditText
verwenden Sie xml oder in Java verwenden können, definieren, dass und initialisieren, dass wie andere Widget (Button, Textview, ...), und andere nur Sie dies in Ihrem xml definieren müssen, wie:
<yourPackage.CustomEditText ..... />
@HareshChhela die Frage vollständig lesen –
meine Absicht ist nicht zu schließen/verstecken Sie die Softkeyboard. Um das Schließen der Tastatur auf der Rückseite zu verhindern drücken Sie –
Dies ist keine doppelte Frage. Warum liest ihr die Frage nicht sorgfältig und markiert sie einfach als dupliziert? –