我正在更改keyListener上的EditText的值。
但是当我更改文本时,光标移动到EditText的开头。 我需要光标在文本的末尾。
如何将光标移动到EditText文本的末尾。
我正在更改keyListener上的EditText的值。
但是当我更改文本时,光标移动到EditText的开头。 我需要光标在文本的末尾。
如何将光标移动到EditText文本的末尾。
当前回答
这是另一种可能的解决方案:
et.append("");
如果因为某种原因不管用,试试下面的方法:
et.setSelection(et.getText().length());
其他回答
etSSID.setSelection(etSSID.getText().length());
如果您想将光标放置在EditText视图中文本的末尾
EditText rename;
String title = "title_goes_here";
int counts = (int) title.length();
rename.setSelection(counts);
rename.setText(title);
科特林:
将光标设置到起始位置:
val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(0)
将光标设置到EditText的末尾:
val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(editText.text.length)
下面的Code是将光标放在第二个字符之后:
val editText = findViewById(R.id.edittext_id) as EditText
editText.setSelection(2)
JAVA:
将光标设置到起始位置:
EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(0);
将光标设置到EditText的末尾:
EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(editText.getText().length());
下面的Code是将光标放在第二个字符之后:
EditText editText = (EditText)findViewById(R.id.edittext_id);
editText.setSelection(2);
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
editText.setSelection(editText.getText().length());
return false;
}
});
这个问题已经很老了,但我认为如果你想使用Android上最新发布的DataBinding工具,有这个答案可能会很有用,只需在XML中设置这个:
<data>
<variable name="stringValue" type="String"/>
</data>
...
<EditText
...
android:text="@={stringValue}"
android:selection="@{stringValue.length()}"
...
/>