Android edittext键返回到下一个文本

时间:2011-02-15 01:33:01

标签: android key android-edittext

我有一系列EditText条目并希望如此,当用户点击回车键时,它将转到下一个Editext。我知道这个一次是怎么做的,但是有办法告诉所有的edittext控件使用相同的函数来检查键入并推进光标。为每个EditTexts

设置一个函数似乎有点疯狂

6 个答案:

答案 0 :(得分:94)

比嗅探密钥简单得多:尝试设置android:singleLine="true"android:imeOptions="actionNext"(至少对于单行输入文字视图)。阅读Android documentation for TextView。

更新: singleLine现在是deprecated,但您可以将其删除。这是可编辑文本的默认行为,只要您未明确设置android:inputType="textMultiLine"inputType会覆盖singleLine替换maxLines="1"的可编辑文本。

答案 1 :(得分:8)

对于Yoni给出的答案的另一种或更新的方法......

由于考虑singleLine deprecated,我们可以使用android:maxLines="1"手动设置为android:inputType="text"

小解释:

  • 我们使用android:inputType="text"专门将输入视为plain text
  • 我们使用android:maxLines="1"将文本的最大行数设置为1(如其所示)。

单独使用maxLines="1"不会产生任何影响,但只有inputType="text"可能也会起作用,正如亚当提到的那样(尽管我还没有检查过这个)。

答案 2 :(得分:5)

添加

    android:inputType="text"
XML中的

就足够了。当您没有定义输入类型时,它会转到下一行。

答案 3 :(得分:2)

您可以尝试向所有editText对象添加单个事件侦听器:

OnKeyListener myKeyListener = new OnKeyListener() {
        @Override
        public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
            // TODO: do what you got to do
            return false;
        }
    };
editText1.setOnKeyListener(myKeyListener);
editText2.setOnKeyListener(myKeyListener);
editText3.setOnKeyListener(myKeyListener);

答案 4 :(得分:0)

在styles.xml中应用此自定义样式

<style name="SingleLineText">
    <item name="android:inputType">text</item>
    <item name="android:maxLines">1</item>
</style>

然后在EditText中设置它,就像这样

 style="@style/SingleLineText"

答案 5 :(得分:0)

在EditText中添加以下行

 android:singleLine="true"
 android:maxLines="1"