android - KeyCode_Enter 到 ListView 中的下一个 EditText

标签 android listview input focus android-edittext

我有多行 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/

相关文章:

android嵌套 ListView

listview - 使用显示对话框和文本字段更新 Flutter 中的单个 ListView 项

android - 如何暂停/恢复视频录制

android - 如何找到满足我 Intent 的内容提供者的类名?

java - 如何根据 ListView 项点击启动 Activity ?

java - 如何在输入法服务中制作AlertDialog View ?

c++ - 从字符数组中提取字符串

javascript - 使用输入数字值作为另一个字段的输入数字最大值

android - 制作 :hover on Android require two clicks to open a link

android - Espresso 检查是否显示 toast (一个在另一个上面)