单击时如何防止光标将自身置于 EditText 的开头
How do I prevent cursor from placing itself at the beginning of EditText when clicked
我有一个 EditText pageTitle
,它的行为取决于它的 onFocusListener
和 onClickListener
以及另一个检测软键盘是显示还是隐藏的方法 setListenerToRootView()
。问题是每当我单击 pageTitle
时,光标都会自动放在开头。我怀疑 setListenerToRootView()
是造成此错误的原因,因为当我删除此方法时问题会自行修复。
但是,我确实需要这种方法,因为另一个视图的可见性 (saveCancelBar
) 取决于软键盘的可见性。有什么方法可以保留此方法,但要确保当用户单击 pageTitle
时,光标将放置在他单击的确切位置(而不是开头)?
使用 setSelection()
以编程方式选择最后一个位置。
在 onClick
和 onFocus
中使用 setSelection
editTextName.setSelection(editTextName.getText().length());
我有一个 EditText pageTitle
,它的行为取决于它的 onFocusListener
和 onClickListener
以及另一个检测软键盘是显示还是隐藏的方法 setListenerToRootView()
。问题是每当我单击 pageTitle
时,光标都会自动放在开头。我怀疑 setListenerToRootView()
是造成此错误的原因,因为当我删除此方法时问题会自行修复。
但是,我确实需要这种方法,因为另一个视图的可见性 (saveCancelBar
) 取决于软键盘的可见性。有什么方法可以保留此方法,但要确保当用户单击 pageTitle
时,光标将放置在他单击的确切位置(而不是开头)?
使用 setSelection()
以编程方式选择最后一个位置。
在 onClick
和 onFocus
中使用 setSelection
editTextName.setSelection(editTextName.getText().length());