我有一个EditText,如果用户按下键盘上的“完成”按钮我想听,当用户没有按下软键盘上的“完成”按钮时我也想清除EditText,我该怎么做?
答案 0 :(得分:4)
要检查用户按下软键盘的“完成”按钮,请使用以下代码:
edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if(i== EditorInfo.IME_ACTION_DONE){
Toast.makeText(getApplicationContext(),"Done pressed",Toast.LENGTH_SHORT).show();
}
return false;
}
});
要在焦点更改后清除edittext的文本,请使用以下代码:
edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if(!hasFocus){
edittext.setText("");
}
}
});
答案 1 :(得分:0)
在 Kotlin 中像这样:
android:imeOptions="actionDone"
edittext.onFocusChangeListener = OnFocusChangeListener { view, hasFocus ->
if (hasFocus) {
//Logic Here
}
}