我在我的Android应用程序中打开了一个对话框,点击后我有一个按钮将关闭对话框。问题是还有一个textedit字段,如果它的焦点和键盘显示,那么当我点击取消按钮,然后对话框消失,但键盘仍然显示。
我也想解雇键盘。
我正在四处寻找,并为此寻找线程 Hide soft keyboard after dialog dismiss
但这些解决方案都不适用于我。顺便说一句,edittext是一个数字输入类型,如果这会以某种方式产生影响。
有谁知道如何解决这个问题?
由于
public void HandleTeamManagement() {
final Dialog teamDialog = new Dialog(this);
teamDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
teamDialog.setContentView(R.layout.dialog_team_management);
final EditText mergeNum = (EditText) teamDialog.findViewById(R.id.group);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mergeNum.getWindowToken(), 0);
// Setting Negative "NO" Button
Button cancelButton = (Button) teamDialog.findViewById(R.id.cancel);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
teamDialog.dismiss();
}
});
// Showing Alert Dialog
teamDialog.show();
}
答案 0 :(得分:3)
您可以在此处找到解决方案:
http://www.workingfromhere.com/blog/2011/04/27/close-hide-the-android-soft-keyboard/
Close/hide the Android Soft Keyboard
编辑:添加代码 试试这.. ..对我有用
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
if (editText!= null && getActivity() != null) {
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(
editText.getWindowToken(), 0);
}
}
}, 1000);