ユーザーが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 に答える