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 没实现。。
接近 3 年之前 回复
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 这个才是正解
一年多之前 回复
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~
大约 2 年之前 回复
yyz_breeze
yyz_breeze 不行啊
大约 2 年之前 回复
wuxin782515516
wuxin782515516 没用
接近 3 年之前 回复
wuxin782515516
wuxin782515516 没用
接近 3 年之前 回复
Android_zsj
Android_zsj   2015.05.01 11:28

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

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

希望帮到你

wuxin782515516
wuxin782515516 不行啊
接近 3 年之前 回复
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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
把光标放在EditText中文本的末尾处
动态跟随键盘输入的监听方式 @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, ...
[android小技巧]如何让光标处于EditText的末尾
经测试发现,如果EditText预先有内容,光标自然会在文字的末尾,但是如果预先内容为空,然后设置好内容,这种情况下光标自然会在文字的开头,所以这种情况下可以这样做让光标位于末尾: editText.setText("0"); editText.requestFocus();  //这是关键
EditText中将光标位置移到文字后面显示‘并且设置光标颜色和所输入字体颜色一样
EditText editText = (EditText) findviewbyid(R.id.edittext); Editable able = editText.getText(); int position = able.length(); Selection.setSelection(able,position);
EditTextt如何设置获取焦点后,光标在末尾的解决办法
本人github地址(有很多好东西哦):https://github.com/wolfking0608  首先:获取editText的焦点.   第二.调用setSelection()方法,参数为文字的长度  例: searchWord = getIntent().getStringExtra("searchWord"); if (!TextUtils.isEmpty(sea
android EditText设置光标到内容最后
EditText  name name.setSelection(name.getText().toString().length());
Android EditText光标移动到文本框末尾
EditText et = (EditText)findViewById(R.id.inbox); et.setSelection(et.getText().length());
给edittext控件控件设置光标在文字的后边
// 给edittext控件控件设置光标在文字的后边
android将输入框光标自动移到输入文字最后面
在Activity文件中: EditText et = (EditText)findViewById(R.id.inbox); et.setSelection(et.getText().length()); 通过setSelection(光标位置)来设置位置,如果有记住密码的操作,就在提取密码的语句和写入提取的密码结束后再加上这句话
Android中EditText输入框焦点从文字前面变成文字后面
Android中一个EditText,通过代码已经设置了默认的值为字符串0了: ? 1 2 etxtSingleAddress = (EditText)findViewById(R.id.pollingAddressValue); etxtSingleAddress.setText("0");
android EdiText在光标处输入字符串
EditText mEt = (EditText) findViewById(R.id.id_et);//EditText对象 int index = mEt.getSelectionStart();//获取光标所在位置 String text = "插入"; Editable edit = mEt.getEditableText();//获取EditText的文字 if  (inde