如何在AlertDalog中自动大写EditText?

时间:2014-05-11 20:58:20

标签: android

我想展示一个包含EditText的AlertDialog,它可以自动将单词大写。

关注this questionthat one后,我设法让AlertDialog在显示对话框时自动显示键盘,并在用户点击EditText时将首字母大写。但在用户点击之前,键盘会以小写模式显示。

如何以大写(自动大写单词)模式自动打开键盘?

我的相关代码如下:

    input = new EditText(context);
    input.setInputType(InputType.TYPE_TEXT_FLAG_CAP_WORDS);

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

还在对话框的requestFocus()中尝试了onShowListener,但它没有帮助。

2 个答案:

答案 0 :(得分:4)

您需要在AlertDialog声明后使用以下代码。



AlertDialog.Builder alert = new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEFAULT_DARK);

final EditText edittext = new EditText(getApplicationContext());
// Just use it here, there is much more options in the link below
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);




Look for other options here

答案 1 :(得分:0)

对我有用的解决方法是避免使用setMessage(),并将消息添加到我自己的视图中(使用setView())。