我有一个EditText pageTitle
,其行为取决于其onFocusListener
和onClickListener
以及另一种检测软键盘是否显示或隐藏的方法setListenerToRootView()
。问题是每当我点击pageTitle
时,光标会自动放在开头。我怀疑setListenerToRootView()
是否对此错误负责,因为当我删除此方法时,问题会自行修复。
但是,我确实需要这种方法,因为另一个视图的可见性(saveCancelBar
)取决于软键盘的可见性。有什么方法可以保留这种方法,但要确保当用户点击pageTitle
时,光标将被放置在他点击的确切位置(而不是开头)?
答案 0 :(得分:1)
使用setSelection()
以编程方式选择最后一个位置。
在onClick
和onFocus
中使用 setSelection
editTextName.setSelection(editTextName.getText().length());