我不能把钥匙输入Go

时间:2014-12-29 21:33:12

标签: java android keyboard keypress onkeypress

我是Android的初学者,但不是Java,并且有问题。

在我的应用程序中花费数小时的损失忽略键盘输入并将代码放在下面。 我想要的是当我做一件事进入和离开时。因为它似乎是多余的,并且在输入本身时确定没有最佳的OK按钮。

    t_Num = (EditText) findViewById(R.id.eTT);
    ...
    t_Num.setFocusableInTouchMode(true);
    t_Num.requestFocus();
    t_Num.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            System.out.println("entra en Onkey" + event.toString());
            if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                    (keyCode == KeyEvent.KEYCODE_ENTER)){
                    tV.setText("OK");
                    System.out.println("Press OK");

                    return true;
                }
            return false;
        }
    });

使用此代码,我可以通过按键获取垃圾邮件,但不是垃圾邮件,按键确定。

和XML:

<EditText
    android:layout_width="75dp"
    android:layout_height="wrap_content"
    android:inputType="numberSigned|phone"
    android:digits="-0123456789"
    android:ems="10"
    android:id="@+id/eTT"
    android:imeActionLabel="@string/OK"
    android:maxLength="6"
    android:maxLines="1"
    android:layout_alignBottom="@+id/tV2_1"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_toRightOf="@+id/btnOk"
    android:layout_toEndOf="@+id/btnOk" />

感谢您的帮助 PD:我在此页面中搜索但未获得解决方案,font1font2等等 我用搜索:))

1 个答案:

答案 0 :(得分:1)

试试这个:

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_GO) {
                //your code
                return true;
            }
            return false;
        }
    });

如果editText有

android:imeOptions="actionGo"

在其xml中。同样适用于Enter。只需更改EditorInfo操作。

EditText是TextView的子类。