我有一个地址编辑文本和许多其他文本框,可在请求时自动填充数据库中的数据。
在地址编辑文本中。我启用了多行。这里发生的是当用户开始输入时,从开头输入文本而不是从结尾输入。我不确定为什么会这样。
例如,如果我已经从DB填充了文本“79 Edge Drive”。专注于地址后点击编辑 - 我现在输入内容。这是键入的方式:“California79 Edge Drive”
我尝试了以下内容:
addText.requestFocus();
addText.setSelection(addText.length());
不工作?还有其他可以自动达到最后长度的东西吗?
答案 0 :(得分:5)
您的问题与堆栈溢出基本相同:
Place cursor at the end of text in EditText
马克斯说这样做的地方:EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());
答案 1 :(得分:1)
你必须使用
addText.setSelection(addText.getText().length());
否则您将获得View元素的长度,而不是TextView中的文本。
此外,请在发布之前搜索您的问题,其他人已经询问过,并且已就同一主题得到解答。
答案 2 :(得分:0)
试试这个
addText.setSelection(addText.getText().length() );