单击时如何防止光标将自身置于 EditText 的开头

How do I prevent cursor from placing itself at the beginning of EditText when clicked

我有一个 EditText pageTitle,它的行为取决于它的 onFocusListeneronClickListener 以及另一个检测软键盘是显示还是隐藏的方法 setListenerToRootView()。问题是每当我单击 pageTitle 时,光标都会自动放在开头。我怀疑 setListenerToRootView() 是造成此错误的原因,因为当我删除此方法时问题会自行修复。

但是,我确实需要这种方法,因为另一个视图的可见性 (saveCancelBar) 取决于软键盘的可见性。有什么方法可以保留此方法,但要确保当用户单击 pageTitle 时,光标将放置在他单击的确切位置(而不是开头)?

使用 setSelection() 以编程方式选择最后一个位置。 在 onClickonFocus 中使用 setSelection

        editTextName.setSelection(editTextName.getText().length());