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

时间:2015-05-30 07:42:33

标签: android listview android-fragments keyboard

我有一个对话框片段,其列表视图中列出了多个视图,其中一个视图中有一个显示光标的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);
                }
            });

现在键盘正在显示,但它显示在DialogFragment

enter image description here

我搜索但没有得到答案,请帮助我!

1 个答案:

答案 0 :(得分:3)

你的窗口参数是问题好的你应该这样做:..

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