当我多次请求编辑文本框的焦点时,即使有一些文本,它也会将光标移动到开头。我们如何将光标放置在已经存在的文本后面?
当我多次请求编辑文本框的焦点时,即使有一些文本,它也会将光标移动到开头。我们如何将光标放置在已经存在的文本后面?
这将把光标设置到文本的最后一个位置:
editText.setSelection(editText.getText().length());
android:ellipsize
属性,设置为"end",如下所示:android:ellipsize="end"
希望这对你有所帮助。编辑文本具有一个名为append的属性。我认为下面这行代码也能达到同样的目的。
editText.append("");
我有一个类似的需求,当用户想要编辑并点击EditText时,光标应该在末尾。我使用以下方法实现了相同的效果:
edtDisplayName.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_DOWN) {
edtDisplayName.setSelection(edtDisplayName.getText()
.length());
edtDisplayName.requestFocus();
//Open key board for user to edit
Commons.showKeyBoard(OnBoardActivity.this, edtDisplayName);
return true;
}
return false;
}
});
这是我打开键盘的方法:
public static void showKeyBoard(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);
}