【问题标题】:Edit text will not post KEYCODE_ENTER to keylistener after setting the digits tag设置数字标签后,编辑文本不会将 KEYCODE_ENTER 发布到 keylistener
【发布时间】:2015-10-07 16:53:06
【问题描述】:

我有一个只使用数字和小数的编辑文本。我希望它也有分数,我已经让它工作了。问题是在将 xml 中的数字标签设置为“0123456789./”后,当按下回车按钮时,它将不再将 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" />

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多