设置数字标签后,编辑文本不会将KEYCODE_ENTER发布到keylistener

时间:2015-07-17 21:10:33

标签: android android-edittext

我有一个编辑文本,我只采用数字和小数。我希望它也可以分数,我已经让它工作了。问题是在将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" />

1 个答案:

答案 0 :(得分:0)

我不知道他们为什么这样做,但您可以通过在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