如何解除对话框关闭时的android键盘?

时间:2013-11-24 07:47:37

标签: android keyboard android-edittext

我在我的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();
}

1 个答案:

答案 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);