显示在对话框片段下的Android软键盘

显示在对话框片段下的Android软键盘,android,listview,android-fragments,keyboard,Android,Listview,Android Fragments,Keyboard,我有一个对话框片段,它有一个列出了多个视图的listview,在其中一个视图中有一个edittext,它有一个显示光标,但软键盘没有显示。 所以我在它的onclick上写了一个代码来显示键盘,如下所示 etcomment.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Inp

我有一个对话框片段,它有一个列出了多个视图的listview,在其中一个视图中有一个edittext,它有一个显示光标,但软键盘没有显示。 所以我在它的onclick上写了一个代码来显示键盘,如下所示

etcomment.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    InputMethodManager imm = (InputMethodManager) activity
                            .getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
                }
            });
现在键盘正在显示,但它显示在
对话框片段下


我搜索了一下,但没有找到答案,请帮帮我

你的窗口参数就是问题所在好吧你应该这样做:

    Dialog dialog = new Dialog(DialogTestKeyboard.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(dialog.getWindow().getAttributes());
    lp.width  = 400;
    lp.height = 800;
    dialog.setContentView(yourLayoutHavingEditText);
    dialog.setCancelable(false);
    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
    dialog.show();
    dialog.getWindow().setAttributes(lp);
    dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

尝试此对话框。getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u输入状态始终可见);已经试过了!!但键盘没有显示我有一个布局,其中包含编辑文本,我正在为对话框设置此布局,当我删除最后一行时,键盘会像urs一样返回,但当我包含该行时,它会出现在前面。。。