【问题标题】:Move cursor to end of EditText?将光标移动到 EditText 的末尾?
【发布时间】:2011-12-17 14:39:45
【问题描述】:

我正在替换 EditText 中的一些文本,然后我想将光标移动到当前文本输入的末尾。它似乎有点工作 - 当我再次开始输入时,光标似乎在 EditText 的末尾,但它不再闪烁/闪烁。我必须再次触摸 EditText 才能使光标再次开始闪烁。我做错了吗?:

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

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    我使用的一个技巧是将文本设置为“”,然后附加我想要的整个字符串。

    String newtext = editText.getText().toString() + "the new text";
    editText.setText("");
    editText.append(newtext);
    

    这似乎将光标放在了对我来说正确的位置。

    【讨论】:

    • 不幸的是,我无法重置所有测试,因为我有需要维护的跨度。但是,在您执行上述操作后,光标是否再次为您闪烁?
    【解决方案2】:
    EditText et = (EditText)findViewById(R.id.inbox);
    et.setSelection(et.getText().length());
    

    第二种方法

    ediitext 有一个名为 append 的函数,它将字符串值附加到当前的 edittext 值,并将光标放在值的末尾。您可以将字符串值作为当前 ediitext 值本身并调用 append();

    myedittext.append("current_this_edittext_string"); 
    

    【讨论】:

    • imo第一种方法很简洁
    【解决方案3】:

    用于让用户更改编辑文本中的整个文本(使用户更友好)

    editText.selectAll(); //user can delete the whole text at one go
    editText.requestFocus();
    

    【讨论】:

      猜你喜欢
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2015-02-06
      • 2020-01-27
      • 2019-09-28
      相关资源
      最近更新 更多