在android编辑文本中设置光标位置

时间:2013-12-30 11:05:20

标签: android android-edittext

如何在android编辑文本中设置光标位置?我有一个编辑文本,在创建时我想在文本中间的某些时候将光标设置为某些时间,我该怎么办?

我的编辑文字如下:

android:id="@+id/editText11"
android:layout_width="wrap_content"
android:layout_height="200sp"
android:layout_above="@+id/horizontalScrollView1"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:gravity="top"
android:background="#00000000"
android:inputType="textMultiLine"
android:singleLine="true"

4 个答案:

答案 0 :(得分:40)

您可以使用以下方法实现此目的:

Edittext.setSelection(Edittext.length());

这会将光标位置放在最后。否则你可以在一个字符串中获取文本,并检查你想放置光标的文本位置,并按照这样做

String text = edittext.getText().toString();

for(int i = 0; i <text.length();i++)
{
//your logic here to check the position of text
}

然后

Edittext.setSelection(position);

答案 1 :(得分:14)

位于开始

editText.setSelection(0);

位于结尾

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

位于中间

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

答案 2 :(得分:1)

试试这个

editText1.requestFocus(Your_Text.length());

希望它会对你有所帮助。

答案 3 :(得分:0)

editText1.setSelection(Your position)

EditText etext = (EditText)findViewById(R.id.inbox);
etext.setSelection(etext.getText().length());