Edittext将光标设置为下一行

时间:2013-06-17 13:30:13

标签: android android-edittext

我正在使用自定义键盘,我有一个问题。 关键  监听器我需要将当前的光标位置设置为下一行。我有  尝试使用

editText.setSelection(editText.getText().length());

将当前光标位置设置为文本结尾而不是下一个  线。

3 个答案:

答案 0 :(得分:3)

怎么样:

editText.append("\n");

然后将光标设置到结尾?

答案 1 :(得分:1)

我不太清楚是否需要插入新行,因为输入键在例如输入键中产生了它。记事本。 在那种情况下,uval的答案看起来很好,除了你可能想要在插入之前记住光标的当前位置:

int position = editText.getSelectionStart();
editText.getText().insert(position, "\n");
editText.setSelection(position + 1);


否则,如果您只想在文本中跳转,就像在记事本中使用箭头键那样,您可能需要计算给定宽度的每行的字符数。查看其文本的大小,然后相应地得到以下行的数量和位置。

答案 2 :(得分:0)

使用

 <EditText
            android:id="@+id/fnameUser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            android:background="@drawable/text_bar"
            android:hint="First Name"
            **android:text="@string/newline"**

            android:textColor="#ffffff"
            android:padding="5dp" />

其中

<string name="newline">\n</string>
相关问题