我有多行 ListView 和一些 EditText。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<EditText
android:id="@+id/edit_tail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
<EditText
android:id="@+id/edit_cost"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
<EditText
android:id="@+id/edit_rest"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</LinearLayout>
在EditText中,按回车键后,系统建立焦点如下:
[EditText] [EditText] [EditText]
↓ ↓ ↓
[EditText] [EditText] [EditText]
↓ ↓ ↓
[EditText] [EditText] [EditText]
↓ ↓ ↓
... ... ...
但我想要:
[EditText] -> [EditText] -> [EditText] ->
-> [EditText] -> [EditText] -> [EditText] ->
-> [EditText] -> [EditText] -> [EditText]
如何解决这个问题?
最佳答案
我只是在 EditTexts 中水平移动焦点时遇到了同样的问题。在我的例子中,我只有几个 EditText,所以我将 android:imeOptions="actionNext"
添加到每个 EditTexts xml,然后将 OnEditorActionListener 添加到每个 EditText。代码示例:
_heightEdit.setOnEditorActionLister(getGotoNextListener(_weightEdit));
private OnEditorActionListener getGotoNextListener(final EditText next) {
return new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
next.requestFocus();
return true;
}
return false;
}
};
}
这个问题的解决方案相当不错。
关于android - KeyCode_Enter 到 ListView 中的下一个 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645769/