Android对话框 - EditTexts的键盘行为

时间:2017-06-29 13:33:32

标签: android dialog android-edittext user-input keyboard-layout

我有一个对话框要求用户输入名称,但键盘以数字字符开头,而不是像往常一样用字母开头。

以下是我使用的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Insert Name");
        final EditText nome = new EditText(this);
        final String NOME_TEXT = "Nome";
        nome.setHint(NOME_TEXT);
        nome.setInputType(InputType.TYPE_TEXT_VARIATION_PERSON_NAME);

        nome.setKeyListener(DigitsKeyListener.getInstance("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 "));

        LinearLayout layout = new LinearLayout(getApplicationContext());
        layout.setOrientation(LinearLayout.VERTICAL);
        layout.addView(nome);
        builder.setView(layout);

我确定烦人的行为是由nome.setKeyListener(DigitsKeyListener.getInstance("...")引起的,它以某种方式改变了输入键盘的类型,但是我必须对DigitsKeyListener进行操作并且不能删除它,因为我想要用户能够只插入字母数字字符,并且我看到TextKeyListener或其他听众没有办法控制用户动态输入的内容。是否可以显示我想要的键盘?

0 个答案:

没有答案