假设用户在EditText中写入了一些文本,然后触摸了屏幕上的其他位置,这导致光标位置发生了变化:如何确定新的光标位置?
问问题
14917 次
2 回答
26
简单版:
myEditText.getSelectionStart();
如果您想对某个事件做出反应,您可以尝试
myEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// view is myEditText here
}
});
event
允许区分新闻和发布。
EditText
还有一个setOnClickListener()
可能值得一看。
编辑:如果位置发生变化,我忘了提及onSelectionChanged(int selStart, int selEnd)
selEnd 等于 selStart 的位置。
于 2010-11-02T07:06:20.460 回答
1
最好和安全的方法是使用TextWatcher
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int cursorIndex = start + 1;
}
于 2013-02-22T17:44:49.580 回答