如何使自动完成文本视图可编辑或不可编辑?

7
我希望根据我的条件使自动完成的TextView可编辑或不可编辑。我将自动完成的文本视图设置为可编辑。
    constituency.setEnabled(true);
    constituency.setInputType(InputType.TYPE_CLASS_TEXT);
    constituency.setClickable(true);

但它没有起作用。
有人能帮帮我吗?


2
它如何是那个问题的副本? - basha
4
这不是引用问题的重复。虽然这个问题是关于完全禁用AutoCompleteTextView,但另一个问题是关于禁用AutoCompleteTextView的DropDown。 - kalabalik
3个回答

10

要禁用一个EditText(自动完成或非自动完成),请使用editText.setInputType(0)。在这个帖子中查看我的答案。

如果要重新启用该EditText,则需要在禁用它之前查询输入类型的值并将其保存在变量中,例如在int safe = editText.getInputType()中,并将变量放回原处,如下所示:editText.setInputType(safe)。为了重新获取焦点,请添加editText.clearFocus()editText.requestFocus()


如何在不可编辑操作后使其可编辑? - basha
你尝试过使用 InputType.TYPE_CLASS_TEXT 吗?因为在最初配置 EditText 时,您可能已经使用了它。 - kalabalik
我设置了一个布尔类型的条件,当它为真时,就会像这样添加:**myautocompleteTextView.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);。而当它为假时我则将其设为myautocompleteTextView.setInputType(0)**。 - basha
我想请您描述一下我的解决方案如何不能达到您想要实现的目标。当您的条件再次为真时会发生什么? - kalabalik
让我们在聊天中继续这个讨论 - basha
显示剩余5条评论

6
也许你正在寻找这个。
education.setKeyListener(null);

要将其设置回去,只需将其放入某个方法中并调用即可。

education.setKeyListener(TextKeyListener.getInstance());

你想将其设置为可编辑的吗? - vikas kumar
是的,我也已经更新了。 - vikas kumar
它使我的应用程序无法编辑。 - basha
好的,我明白了。但是你也可以根据输入类型启用监听器,使其可编辑,例如我们有数字监听器只监听数字,文本监听器等等。 - vikas kumar
1
设置键监听器正常运行。谢谢。 - dave o grady
显示剩余6条评论

3
您可以设置constituency.setEnabled(boolean)为true或false。

通过添加editText的启用和禁用功能。但是在将其启用为true之后,它就不可编辑了。 - basha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接