每当我触摸edittext时,光标应该在end.Even如果editText已经有一些文本,它不应该允许移动左奖
editTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
editTextView.onTouchEvent(event);
if(!textFocus) {
editTextView.setSelection(editTextView.getText().length());
textFocus = true;
}
return true;
}
});
editTextView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
textFocus = false;
}
});
Run Code Online (Sandbox Code Playgroud)
您可以扩展 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());
}
}
Run Code Online (Sandbox Code Playgroud)
在 XML 中,您应该使用 yourpackagename.CustomEditText 而不是 EditText。
这对我有所帮助.总是当我触摸edittext时,光标将在最后
editTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
editTextView.onTouchEvent(event);
editTextView.setSelection(editTextView.getText().length());
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4556 次 |
| 最近记录: |