我是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" />
答案 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的子类。