所以我有custom alert dialog一个EditText。每当我点击一个按钮进行确认,或者如果我点击软键盘自己的完成按钮,我已经对应用程序进行了编程以关闭对话框。但是由于某些奇怪的原因,soft-keyboard在关闭警报对话框后仍然打开...
最后的这段代码 buttonConfirm是我试图解决这个问题的。出于某种原因,代码不适用于按钮本身,但代码确实适用于软键盘中的完成按钮
buttonConfirm.setOnClickListener(new
View.OnClickListener()
{..............
.................
closeKeyboard();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
dialog.dismiss();
}
}, 100); // 5000ms delay
}
//This is the code for the done-button in the `soft keyboard`
textinputEdit.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event){
if(actionId==EditorInfo.IME_ACTION_DONE){
buttonConfirm.performClick();
}
return false;
}
});
那么,为什么在直接按下按钮时它会起作用而不是按钮本身呢?这对我来说很奇怪.. 任何人都知道这到底是怎么回事?:(
冉冉说
函数式编程
相关分类