【问题标题】:Android 4.0 EditText cursor is always invisible for editable=falseAndroid 4.0 EditText 光标对于 editable=false 始终不可见
【发布时间】:2012-02-24 06:16:33
【问题描述】:

在我的应用中,我想要一个不接受任何输入的 EditText,即 XML 布局中的 android:editable="false" 或代码中的 setKeyListener(null)

我只想以非常可控的方式添加字符,因此我总是使用setText() 以编程方式添加它,并且我不希望出现任何虚拟键盘。但是,我仍然需要在 EditText 中添加一个可见光标,以便用户知道将在何处插入编程输入。

在 Android 4.0 之前,这很容易实现 (android:editable="false")。在 4.0 中,光标显然已被删除。我试过android:cursorVisible="true",但它不起作用。

有谁知道如何在 Android 4.0 中既拥有可见光标又抑制输入?非常感谢这里的任何帮助。

【问题讨论】:

  • 其实我发现下面的解决方案是在模拟器上运行的,但是后来我在设备上测试的时候,在EditText里面点击的时候还是会出现键盘。另一种解决方案(Android 4.0及以上版本) ) 似乎也适用于设备,这里给出:code.google.com/p/android/issues/detail?id=27609

标签: android input android-edittext text-cursor


【解决方案1】:

在您的 EditText 中设置 android:focusable=false。

【讨论】:

  • 感谢您的建议,但遗憾的是 focusable=false 在 EditText 中没有给我任何光标
  • focusable 主要用于像轨迹球和键盘一样在视图中导航
【解决方案2】:

请尝试

 android:clickable="false"

【讨论】:

  • 是的,它似乎几乎是我正在寻找的东西,除了 EditText 仍然是可编辑的,因此即使虚拟键盘被抑制,它也接受来自硬件键盘按钮的输入。我想我可以通过过滤它的输入来解决这个问题。谢谢@Maurycy
【解决方案3】:

我有类似的问题。尝试使用:

editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);

它对我有用。更多详情见http://code.google.com/p/android/issues/detail?id=27609

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2013-08-22
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多