首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImeOptions不与AppCompatEditText一起使用

ImeOptions不与AppCompatEditText一起使用
EN

Stack Overflow用户
提问于 2017-04-04 15:07:28
回答 2查看 500关注 0票数 1

我有一个包含EditText的片段,我正在尝试设置键盘事件,但它似乎不起作用。actionId始终为0

代码语言:javascript
复制
<android.support.v7.widget.AppCompatEditText
    android:id="@+id/input_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/hint_name"
    android:inputType="text"
    android:maxLines="1"
    android:imeOptions="actionNext"
    android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"/>

代码语言:javascript
复制
name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        boolean handled = false;
        if (actionId == EditorInfo.IME_ACTION_NEXT) {
            save();
            handled = true;
        }
        return handled;
    }
});

我还尝试使用以下代码设置按钮标签,但不起作用

代码语言:javascript
复制
name.setImeActionLabel("Next", KeyEvent.KEYCODE_ENTER);
EN

回答 2

Stack Overflow用户

发布于 2017-04-04 15:43:29

我想你误会了android:digits

查看android:digits

如果设置,则指定此TextView具有数字输入法,并且这些特定字符是它将接受的字符。如果设置此项,则表示numeric为true。默认值为false。

android:digit指定此editText将只接受数字。在您的示例中,您使用没有数字的触发器来定义它,这将导致 no

此外,如果设置 setImeActionLabel()**.**,则actionId将为0

Ps,

如果你想过滤editText的输入,你应该选择InputFilter

票数 0
EN

Stack Overflow用户

发布于 2017-04-04 16:47:08

指定字母表的android:digits仅接受字母表,并忽略键盘上的任何其他按钮单击。因此,删除EditTextdigits属性,并对java文件中输入的数据添加验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43200513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档