在Android上的对话框中没有显示键盘

时间:2016-02-02 08:39:59

标签: android

我有一个活动,当点击按钮时我会在其上显示一个对话框。但是键盘没有显示在对话框中。我的这段代码:

final DialogComfigPass comfigPass = new DialogComfigPass(ActivityTable.this);
comfigPass. getWindow (). clearFlags ( WindowManager . LayoutParams . FLAG_NOT_FOCUSABLE | WindowManager . LayoutParams . FLAG_ALT_FOCUSABLE_IM );
comfigPass.show();`

4 个答案:

答案 0 :(得分:1)

**你必须在这样的对话框中打开键盘**

    dialog.setOnShowListener(new OnShowListener() {

        @Override
        public void onShow(DialogInterface dialog) {

            InputMethodManager inputMethodManager = (InputMethodManager)this.getSystemService(
                            Context.INPUT_METHOD_SERVICE);
            inputMethodManager.toggleSoftInput(
                    InputMethodManager.SHOW_FORCED, 0);
        }
    });

答案 1 :(得分:1)

您可以使用setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);‌​

  // Show the keyboard when the dialog is displayed on the screen.
comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);‌​

之前

comfigPass.show();

<强>最后

final DialogComfigPass comfigPass = new DialogComfigPass(ActivityTable.this);
comfigPass. getWindow (). clearFlags ( WindowManager . LayoutParams . FLAG_NOT_FOCUSABLE | WindowManager . LayoutParams . FLAG_ALT_FOCUSABLE_IM );
comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);‌​
comfigPass.show();`

答案 2 :(得分:0)

尝试这样可以工作:) comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);‌​

答案 3 :(得分:0)

请使用

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);