2017-10-17 59 views
0

因此,我有一个EditText pageTitle,其行为取决于其onFocusListeneronClickListener以及另一种方法setListenerToRootView(),它检测软键盘是显示还是隐藏。这个问题是每当我点击pageTitle时,光标自动放置在开始处。我怀疑setListenerToRootView()负责这个错误,因为当我删除这个方法时,问题会自行解决。如何防止光标在EditText点击时自动放置

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

The source code for my activity

回答

1

使用setSelection()以编程方式选择上一个位置。 在onClickonFocus使用为setSelection

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

可悲的是,这并没有为我工作。 – Bargain23

+0

您能否提供您最新的代码请 –

+0

我的意思是您的解决方案不是我的预期行为。您的解决方案将光标置于“EditText”的第一次点击时字符串/文本的末尾。我想要的是将光标放在用户点击“EditText”的位置(例如EditText包含字符串“sample”,用户在'a'和'm'之间点击光标(或闪烁的'|' )出现在'a'和'm'之间 – Bargain23

相关问题