我有一个需要在普通模式和只读可选模式之间切换的EditText(更具体地说,它是一种高亮模式,其中选择由setSelection
设置,用户无法更改选择)。问题是有时选择没有出现。在我将EditText切换到只读可选模式然后切换回来之后,当我按某处时光标移动但软键盘没有显示出来。
以下是将其切换为只读可选模式的代码:
inputText.setFocusable(false);
inputText.setTextIsSelectable(true);
inputText.setCursorVisible(true);
inputText.selectAll(); // for test purpose
以下是将其切换回普通模式的代码:
inputText.setFocusableInTouchMode(true);
inputText.setFocusable(true); // this line can be omitted according to the source code
似乎第一次选择文本是有效的,之后除非重新启动应用程序,否则它永远不会有效。
答案 0 :(得分:0)
最后,当我需要“禁用”我的TextView
时,我决定使用包含完全相同文本的另一个EditText
并显示该文本(并隐藏EditText
)。