我有一个对话框片段,其列表视图中列出了多个视图,其中一个视图中有一个显示光标的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
我搜索但没有得到答案,请帮助我!
答案 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);