安卓开发中如何设置设置EditText为只读?

Android: 以编程方式设置 EditText 只读

将 EditText 设置为只读模式,方法有三。


1. 修改 xml 文件中的属性:

android:editable="false"

android:inputType="none"

这两个属性比较直接,缺点在于不能在 java 代码中动态设置。


2. 屏蔽编辑监听的方式,java 代码:

editText.setKeyListener(null);

这种方法保留了系统功能,也就是对文字的选择、复制和黏贴。


3. 按功能用 java 代码来给 EditText 设置属性:

view.setCursorVisible(false); //设置输入框中的光标不可见
view.setFocusable(false); //无焦点
view.setFocusableInTouchMode(false); //触摸时也得不到焦点

这种办法让文本框无法获得焦点,光标也不显示,以得到不可输入的效果。


3