如何防止光标在EditText点击时自动放置
问题描述:
因此,我有一个EditText pageTitle
,其行为取决于其onFocusListener
和onClickListener
以及另一种方法setListenerToRootView()
,它检测软键盘是显示还是隐藏。这个问题是每当我点击pageTitle
时,光标自动放置在开始处。我怀疑setListenerToRootView()
负责这个错误,因为当我删除这个方法时,问题会自行解决。如何防止光标在EditText点击时自动放置
但是,我确实需要这种方法,因为另一个视图的可见性(saveCancelBar
)取决于软键盘的可见性。有没有什么办法可以保持这种方法,但要确保当用户点击pageTitle
时,光标将被放置在他点击的确切位置(而不是开始)?
答
使用setSelection()
以编程方式选择上一个位置。 在onClick
和onFocus
使用为setSelection
editTextName.setSelection(editTextName.getText().length());
可悲的是,这并没有为我工作。 – Bargain23
您能否提供您最新的代码请 –
我的意思是您的解决方案不是我的预期行为。您的解决方案将光标置于“EditText”的第一次点击时字符串/文本的末尾。我想要的是将光标放在用户点击“EditText”的位置(例如EditText包含字符串“sample”,用户在'a'和'm'之间点击光标(或闪烁的'|' )出现在'a'和'm'之间 – Bargain23