Android Edittext requestFocus() not working?
我整天都在搜索,尝试建立大多数解决方案,但仍然无法正常工作。
我有2个
但是现在,
这是我的代码,当
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | edtNO_CAR.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { if (keyCode == KeyEvent.KEYCODE_ENTER) { if (TextUtils.isEmpty(mNoCon)) { edtNO_CON.requestFocus(); edtNO_CON.setError(getString(R.string.error_field_required)); } else if (edtNO_CAR.getText().toString().trim().length() > 0) { // Do something } } } return true; } }); |
这是edtA的XML:
1 2 3 4 5 6 7 8 9 | <EditText android:id="@+id/confirmNO_CONTAINER" style="@style/text14Black" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.7" android:includeFontPadding="false" android:maxLines="1" android:singleLine="true" /> |
有人可以帮忙吗?
谢谢你的时间
更新:
在尝试了所有建议但没有任何变化之后,我决定使用
这是我更新的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | edtNO_CAR.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_NEXT || event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { String strNoCon = edtNO_CON.getText().toString().trim(); if (TextUtils.isEmpty(strNoCon)) { edtNO_CON.requestFocus(); edtNO_CON.setError(getString(R.string.error_field_required)); } else if (edtNO_CAR.getText().toString().trim().length() > 0) { // Do something } } return true; } }); |
这可以帮助您! 试试吧。 #回答
尝试添加以下两行:
android:focusable =" true"
android:cursorVisible =" true"
如果不起作用。 请更新。
首先调用setEror,然后调用requestFocus