在“ In Android EditText how to get the cursor position in an OnTouchListener after it is set ”上发布的答案表明,将来可以安排一个线程为 100MS 给 Android 时间来更新 EditText 光标位置。没有提供如何实现这一点的代码。我已经尝试使用 Toast 来显示光标位置的以下测试代码。更新触摸后不显示光标位置。有人可以更正此代码,以便在 mText.setSelection(cursor) 中提供触摸位置吗?
OnTouchListener otl = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent evt) {
Runnable r = new Runnable()
{
public void run()
{
int cursor = mText.getSelectionStart();
Toast.makeText(getApplicationContext(), "Cursor=" + cursor, Toast.LENGTH_SHORT).show();
mText.setSelection(cursor);
}
};
Handler handler = new Handler();
handler.postDelayed(r, 1500);
return true;
}
};
mText.setOnTouchListener(otl);