Android 在edittext中设置光标位置

Android 在edittext中设置光标位置,android,android-edittext,Android,Android Edittext,我在android中实现了一个文本编辑器类型的应用程序,问题是当我重新打开放置多行编辑文本的活动时,光标始终设置为编辑文本的开始位置。因此,当我试图输入添加到起始位置的文本时,我通过使用 EditText.setSelection(EditText.getText().length()); 但是现在,我无法编辑已在“编辑文本”视图中写入的任何文本,因为我的光标始终移动到文本的末尾 我想放置光标,这样我就可以编辑编辑文本框中的任何文本、任何行或任何段落,我该怎么做 下面是我的编辑文本的xml &

我在android中实现了一个文本编辑器类型的应用程序,问题是当我重新打开放置多行编辑文本的活动时,光标始终设置为编辑文本的开始位置。因此,当我试图输入添加到起始位置的文本时,我通过使用

EditText.setSelection(EditText.getText().length());
但是现在,我无法编辑已在“编辑文本”视图中写入的任何文本,因为我的光标始终移动到文本的末尾

我想放置光标,这样我就可以编辑编辑文本框中的任何文本、任何行或任何段落,我该怎么做

下面是我的编辑文本的xml

<EditText
        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" >

        <requestFocus />

我相信你已经解决了3个月后的问题,但我想为面临同样问题的人回答。 问题在于这个属性:android:gravity=top
当你使用它时,它不会让光标移动。我不知道为什么,但在我删除这一行后,它起了作用。

我肯定你在3个月后解决了这个问题,但我想为面临同样问题的人回答。 问题在于这个属性:android:gravity=top
当你使用它时,它不会让光标移动。我不知道为什么,但在我删除这一行后,它起了作用。

你在哪里添加了代码?如果在watcher/listener中,则将其删除。将此代码仅放在onCReate/onResume上。我在文本监视程序中使用了此代码。我必须使用text watcher,因为如果没有它,许多功能将无法很好地执行。那么,没有任何选项……你的意思是我无法使用android实现此功能?:/不。我的意思是,若你们把这段代码放进了watcher,你们不能在最后一段以外的任何地方移动选择。你们在哪里添加了这段代码?如果在watcher/listener中,则将其删除。将此代码仅放在onCReate/onResume上。我在文本监视程序中使用了此代码。我必须使用text watcher,因为如果没有它,许多功能将无法很好地执行。那么,没有任何选项……你的意思是我无法使用android实现此功能?:/不,我的意思是,如果你把这个代码放到watcher里,你就不能在最后一个地方以外的任何地方移动选择。是的,我现在已经解决了。但你的答案是+1:@Hassaan Rabbani你能分享一下你是如何解决这个问题的吗?我希望用EditText来完成这项工作,这样用户就可以定位光标来编辑条目。我没有使用android:gravity=top属性。很好,兄弟。是的,我现在已经解决了。但你的答案是+1:@Hassaan Rabbani你能分享一下你是如何解决这个问题的吗?我希望用EditText来完成这项工作,这样用户就可以定位光标来编辑条目。我没有使用android:gravity=top属性。