android – 隐藏AlertDialog中的键盘

前端之家收集整理的这篇文章主要介绍了android – 隐藏AlertDialog中的键盘前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个alertdialog与editext.对于这个Edittext我使键盘出现,当用户按ok或取消隐藏键盘时,我想要.奇怪的问题是当用户选择OK时,键盘是隐藏的,但是当选择取消时,键盘不会隐藏我在两种情况下使用相同的代码.

这是我的代码

final AlertDialog.Builder alert = new AlertDialog.Builder(this);

        alert.setTitle(data);
        final EditText input = new EditText(this);
        InputFilter[] FilterArray = new InputFilter[1];
        FilterArray[0] = new InputFilter.LengthFilter(25);
        input.setFilters(FilterArray);
        input.postDelayed(new Runnable() {
            @Override
            public void run() {
                InputMethodManager keyboard = (InputMethodManager)
                getSystemService(Context.INPUT_METHOD_SERVICE);
                keyboard.showSoftInput(input,0); 
            }
        },200);



        alert.setView(input);

        alert.setPositiveButton(ok,new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int whichButton) {
                text = input.getText().toString().trim();
                Canvas c = new Canvas(bitmapResult);
                drawTextImage(bitmapResult);
                saveimage();
                InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(input.getWindowToken(),0);
            }
        });

        alert.setNegativeButton(cancel,new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int whichButton) {
                        dialog.cancel();
                        saveimage();
                        InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                        im.hideSoftInputFromWindow(input.getWindowToken(),0);
                    }
                });

        alert.show();

我的秘密在哪里?有人可以帮我吗

解决方法

我找到了解决方案:
alert.setNegativeButton(cancel,new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,int whichButton) {
            saveimage();
            InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            im.hideSoftInputFromWindow(input.getWindowToken(),0);
            dialog.cancel();
        }
    });

我隐藏键盘后我应该把dialog.cancel().

原文链接:https://www.f2er.com/android/312022.html

猜你在找的Android相关文章