每当我触摸edittext时,光标应该在结尾。即使editText已经有一些文本而且它不应该允许左移奖励
class LinkedList<Item : NodeItem> {
let head : Node<Item>
init(head: Node<Item>) {
self.head = head
}
func search(item: Item) -> Bool {
var current : Node? = head
while current != nil {
if current?.item == item {
return true
}
current = current?.next
}
return false
}
}
答案 0 :(得分:5)
这对我很有帮助。总是当我触摸edittext时,光标将在末尾 p>
editTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
editTextView.onTouchEvent(event);
editTextView.setSelection(editTextView.getText().length());
return true;
}
});
答案 1 :(得分:4)
您可以扩展EditText并覆盖onSelectionChanged函数。
例如:
public class CustomEditText extends EditText {
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
this.setSelection(this.getText().length());
}
}
在XML中,您应该使用yourpackagename.CustomEditText而不是EditText。
答案 2 :(得分:2)
尝试以下代码段之一,它应该可以正常工作
a)
editText.setText("Your text");
editText.setSelection(editText.getText().length());
b)
editText.setText("");
editText.append("Your text");
c)
editText.append("");
答案 3 :(得分:0)
实际上没有这样的方法直接这样做,但是可以这样做,
editText.setText(editText.getText().toString);
焦点改变或你想要的地方。