当前位置: 首页 > 知识库问答 >
问题:

设置digits标记后,“编辑文本”将不会将KEYCODE\u ENTER发布到keylistener

施知
2023-03-14

我有一个编辑文本,我只取数字和小数。我希望它也需要分数,我已经让它工作了。问题是在将xml中的digits标签设置为"0123456789./"之后,当按下Enter按钮时,它将不再向侦听器发布KEYCODE_ENTER。有人知道为什么会这样吗?

<EditText
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:inputType="number|numberDecimal"
     android:digits="1234567890./ "
     android:id="@+id/itsname"
     android:ems="@integer/itslength"
     android:layout_gravity="left|center_vertical" />

共有1个答案

和光启
2023-03-14

我不知道他们为什么这样做,但您可以通过在xml中设置imeOptions标记,然后向EditText添加OnEditorActionListener来解决这个问题。

TextView.OnEditorActionListener enterListener = new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

        switch (actionId) {

            case EditorInfo.IME_ACTION_NEXT:
                Log.e("Listen","TO IT ALL");
                return true;

            default:
                return false;
        }
    }
};

XML:

android:imeOptions="actionNext"

答案要归功于这家伙https://stackoverflow.com/a/25136275/4491275

 类似资料:
  • 我有一个要求,在editbox中输入文本后,单击虚拟键盘完成(EditorInfo.IME\u ACTION\u DONE),现在光标不可见[我使用的是editText.setCursorVisible(false)]。现在问题是我再次单击编辑框光标不可见,但文本进入编辑框。 谢谢

  • 问题内容: 如果我想将cq5组件设置为在A页中可编辑但在B页中不可编辑,是否可以。 例如:在A页上,我有C组件,我们允许作者打开对话框并编辑该组件。但是我们不允许作者打开对话框来编辑页面B上的组件C。我尝试研究cq:EditConfig 链接,但这还不足以解决我的问题。 问题答案: 您可以在包含之前设置ComponentContext.BYPASS_COMPONENT_HANDLING_ON_IN

  • 问题内容: 我正在使用创建时间选择器。内的文字是可编辑的。但我想将设置为不可编辑,因为有机会给出无效的值。谁能帮我? 问题答案: 请尝试以下操作: 只要您自己没有通过调用更改微调器编辑器,此方法就应该起作用。 告诉我们这是否有帮助。

  • 我试图在EditText中设置文本,但它说: 我的代码如下: 不要说用< code>setText,因为我用的是kotlin,不是Java。

  • 问题内容: 将标头发送到客户端后,无法设置标头。这是请求验证后的后端错误,看起来像标头问题。我为我的项目脏代码感到抱歉,我还需要做其他事情,因此在注释中有一些代码。这是我的代码 您可以在我的代码中发现其他错误,因为我尝试了许多不同的方法。这是passport.js配置文件 这是身份验证的ajax请求 非常感谢你。 问题答案: 这是由于您的代码试图从authenticate函数发送多个响应。 删除其

  • 将标头发送到客户端后,无法对其进行设置。这是我的身份验证post请求后的后端错误。看起来标题有问题。我很抱歉我的项目肮脏的代码,我需要做一些别的事情,所以有一些代码在评论中。这是我的代码 你可以在我的代码中找到其他错误,因为我尝试了许多不同的方法。以下是passport.js配置文件 这是用于身份验证的 ajax 请求 非常感谢。