【问题标题】:Moving EditETxt Cursor to the end of spannable text?将编辑文本光标移动到可跨文本的末尾?
【发布时间】:2012-05-16 05:05:17
【问题描述】:

我有 Edittext,我在其中设置了可跨文本,我希望光标位于可跨文本的末尾。以便用户可以从键盘手动输入。

我已经试过了

ObjectOfEdietext.setSelection(ObjectOfEdietext.getText().lenght());

但这对我不起作用。但是,如果我在 Editext 上设置普通文本并执行相同操作,则效果很好。 谁能指出是什么问题??

提前致谢

已编辑 在这里,我发现我在编辑文本上设置的用于使跨度文本可点击的 LinkMovementMethod 正在禁用编辑文本光标的问题。我面临的另一个大问题是当我在edittext上设置可点击的跨文本然后光标移动到0位置,所以我无法在文本末尾移动光标以从键盘添加文本!有没有人遇到过这样的问题?

【问题讨论】:

  • 尝试将其转换为字符串。 getText().toString().length();

标签: android android-edittext cursor-position


【解决方案1】:

试试这个代码

ObjectOfEdietext.setSelection(ObjectOfEdietext.getText().toString().lenght());

我亲自尝试过以下代码及其工作

et_from.setText(new SpannableString("my starting Address"));
et_from.setSelection(et_from.getText().length());

【讨论】:

  • 感谢@dinesh 的快速响应。但这是由于在edittext中设置了MovementMethod,例如。 phoneNum.setMovementMethod(LinkMovementMethod.getInstance());我设置它是为了让span可点击,目的是删除spannedString。
  • 我想将光标移动到字符串的末尾,也想删除触摸跨越的字符串。问题是它是相辅相成的。如果我设置了移动方法,我无法在最后移动光标,如果我没有,我无法使跨度可点击
【解决方案2】:

试试吧,它是 100% 工作的:

yourEditText.post(new Runnable() {
     @Override
     public void run() {
        yourEditText.setSelection(yourBubbleText.length());
     }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多