【问题标题】:Set input type for an EditText to be alphanumeric in a Dialog在对话框中将 EditText 的输入类型设置为字母数字
【发布时间】:2017-06-21 21:58:47
【问题描述】:

我有一个 AlertDialog,一旦单击按钮就会出现,并在那里放置一个 EditText,我希望用户用字母数字字符填充。如果它不是动态创建并放入 xml 文件中,我会设置类似android:digits="abcdefghijklmnopqrstuvwxyz1234567890 " 的内容。有谁知道我该怎么做? 我的代码是这样的:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Insert text");

    final EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_TEXT);
    builder.setView(input);

    builder.setPositiveButton("CREATE", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //do something
            }
        });
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });

    builder.show();

【问题讨论】:

    标签: android dialog android-edittext android-alertdialog


    【解决方案1】:

    here 所述的简单答案。

    setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyz1234567890 "));
    

    【讨论】:

    • 太棒了!好的,我将它放在 builder.setView 行之前并且所有工作正常,但是现在我想更改一件烦人的事情:单击对话框时出现的键盘从“符号页面”开始,而不是从正常字符。评论您的建议可以恢复到我想要显示的内容。想法?
    • 对不起@creativecreatorormaybenot,但如果你能在这里帮我一把,那就太好了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多