AlertDialog,Edittext作为自定义标题视图

时间:2012-11-12 10:47:47

标签: android alertdialog

我需要EditText作为AlertDialog的自定义标题视图,由AlertDialog.Builder构建。设置和显示此EditText平移,将文本粘贴到它(通过长按),包括调用EditorActionListener回调。

但是没有可见的软输入,因此添加文本非常不方便。我已经尝试过调用InputMethodManager.showSoftInput(),但在创建/显示对话框之前和之后,OnClickListenerOnFocusChangeListenerRunnable之内都没有任何反应。< / p>

让我恍惚的是,我有许多其他的AlertDialogs,其中有很多EditText个符合要求。自定义标题视图和内容视图之间是否存在概念差异?

1 个答案:

答案 0 :(得分:4)

<强>解决方案:

AlertDialog的AlertController设置阻止软输入的标志。因此,这样做:

AlertDialog.Builder builder = .... // initialize, set up
AlertDialog d = builder.show();
d.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
d.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
d.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

现在软输入显示,调整对话框的大小,一切正常。 (顺便说一句,感谢GrepCode ......)。