Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何关闭对话框上的android键盘?_Android_Keyboard_Android Edittext - Fatal编程技术网

如何关闭对话框上的android键盘?

如何关闭对话框上的android键盘?,android,keyboard,android-edittext,Android,Keyboard,Android Edittext,我的android应用程序中有一个打开的对话框,我有一个按钮,单击会关闭该对话框。问题是还有一个文本编辑字段,如果它已聚焦并且键盘正在显示,那么当我单击“取消”按钮时,对话框将消失,但键盘仍在显示 我还想关闭键盘 我四处搜索,寻找像这样的线索 但没有一个解决方案对我有效。顺便说一下,edittext是一种数字输入类型,如果这有什么不同的话 有人知道如何解决这个问题吗 谢谢 public void HandleTeamManagement() { final Dialog teamDia

我的android应用程序中有一个打开的对话框,我有一个按钮,单击会关闭该对话框。问题是还有一个文本编辑字段,如果它已聚焦并且键盘正在显示,那么当我单击“取消”按钮时,对话框将消失,但键盘仍在显示

我还想关闭键盘

我四处搜索,寻找像这样的线索

但没有一个解决方案对我有效。顺便说一下,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();
}

您可以在此处找到解决方案:

编辑:添加代码 试试这个……它对我有用

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

您的意思是以下内容不适用于您:
InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT\u METHOD\u SERVICE);imm.hideSoftInputFromWindow(yourEditText.getWindowToken(),0)?@omega:你是不是搞笑地打开了键盘。?键盘是通过关注编辑文本来打开的,所以我不会强行打开它。我在上面添加了代码。什么是处理程序?我从哪里获得它?@omega:我添加了处理程序代码。只需将其粘贴到代码中,并用您的姓名替换editText,然后重试。