2 lidaming and LiDaming_and 于 2012.11.26 17:08 提问

怎样把光标放在EditText中文本的末尾处?

我改变了keyListener监听事件上EditText中的值。
但是当我改变文本后,光标会移动到编辑框的最开始处。我是想让光标处于文本的末尾处。
怎么把光标移动到EditText编辑框中文本的末尾呢?

8个回答

baimy1985
baimy1985   2012.11.26 22:34
已采纳

这个代码应该可以实现你想要的功能

Editable etext = mSubjectTextEditor.getText();
Selection.setSelection(etext, etext.length());
djzhi3112
djzhi3112 没实现。。
大约 2 年之前 回复
suannai0314
suannai0314 代码部分可以用代码格式,帮你编辑了一下。
大约 5 年之前 回复
hcg_21
hcg_21   2012.11.27 10:41

试一下:

EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());
songpaul0135
songpaul0135 这个才是正解
11 个月之前 回复
ausboyue
ausboyue 回复哼唱_小情歌: 因为et.setSelection(et.getText().length());只是暂时性的效果,要达到长期性的效果必须在addTextChangedListener监听里重新设置setSelection(et.getText().length())
大约一年之前 回复
ausboyue
ausboyue 回复哼唱_小情歌: 在et.addTextChangedListener里做监听,一有变化,就这么设置et.setSelection(et.getText().length());
大约一年之前 回复
yyz_breeze
yyz_breeze 可以,我弄错了,sorry~
一年多之前 回复
yyz_breeze
yyz_breeze 不行啊
一年多之前 回复
wuxin782515516
wuxin782515516 没用
2 年多之前 回复
wuxin782515516
wuxin782515516 没用
2 年多之前 回复
Android_zsj
Android_zsj   2015.05.01 11:28

Edit.setText(content);//获取文本框中的内容(content)

Edit.setSelection(content.length());//将光标追踪到内容的最后

希望帮到你

wuxin782515516
wuxin782515516 不行啊
2 年多之前 回复
awakensandman
awakensandman   2015.01.23 14:28
 Button btn = (Button)findViewById(R.id.btn);
u013632494
u013632494   2015.09.20 20:24

怎么不行、可以啊。。。。

ausboyue
ausboyue   2016.11.22 14:03

在et.addTextChangedListener里做监听,一有变化,就这么设置et.setSelection(et.getText().length());

ausboyue
ausboyue 因为et.setSelection(et.getText().length());只是暂时性的效果,要达到长期性的效果必须在addTextChangedListener监听里重新设置setSelection(et.getText().length())
大约一年之前 回复
tsdm112
tsdm112   2015.08.03 15:53
    urlInput = (EditText) findViewById(R.id.url_input);//关联界面上的editText和主程序mainactivity
    urlInput.setSelection(urlInput.getText().length());  //通过gettext获取当前字符串长度,并用setselection把光秒移到这个长度位置(末尾)
qq_24078843
qq_24078843   2016.06.20 16:08

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!