JAVA中如何使编辑文本不可编辑但可点击

新手上路,请多包涵

是否可以使 EditText 可点击但不可编辑。

我不希望它是可编辑的(键盘不应该出现,我们也不应该能够更改提示)

实际上,我只想将编辑文本用作带有提示(无法更改)的图像。我知道实际的方法是使用一个 ImageView 和一个 TextView ,但我希望它尝试使用 EditText 因为我将只使用一个视图 —而不是 2。而且每件事都是动态的,所以没有 XML。

对于上述要求,XML 中的解决方案是 android:editable="false" 但我想在 Java 中使用它。

但,

如果我使用:-

 et.setEnabled(false);

要么

 et.setKeyListener(null);

它使 EditText 不可编辑,但同时也使其不可点击。

原文由 Aamir Shah 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 395
2 个回答

这里的技巧是:-

 et.setFocusable(false);
et.setClickable(true);

原文由 Aamir Shah 发布,翻译遵循 CC BY-SA 3.0 许可协议

由于 editable 已弃用。您可以在设计 xml 时将 android:inputType 用作 none 或在编码中用作 InputType.TYPE_NULL

设计 XML

 <android.support.v7.widget.AppCompatEditText
    android:id="@+id/edt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="false"
    android:inputType="none"
    android:text="EditText"/>

编码

edt.setClickable(true);
edt.setFocusable(false);
edt.setInputType(InputType.TYPE_NULL);

下面是点击事件 edittext

 edt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(YourActivity.this,"edt click", Toast.LENGTH_LONG).show();
    }
});

原文由 Nirav Bhavsar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏