设置EditText可编辑和不可编辑

项目需求是这样的,如果EditText上面已经被setText()内容,则需要禁止输入,防止它被修改。如果没有显示内容,则将EditText设置为可输入状态。

1.首先想到的是在XML文件中设置android:focusable="false",然后在代码中设置此控件属性:editText.setFocusable(true);

经过测试验证:如果有多个EditText,都在xml布局中设置android:focusable="false",当设置可编辑的时候,再设置所有的EditText的属性editText.setFocusable(true);发现,只有第一个EditText可编辑,其他的还是不能编辑

2.看到网上有的说:

editText.setInputType(InputType.TYPE_NULL);来禁止手机软键盘。     editText.setInputType(InputType.TYPE_CLASS_TEXT);来开启软键盘。

如果手机没有自带键盘的话(全触摸的)是可以实现的,如果手机自带键盘还是可以编辑的。

最后,终于找出了解决的方案:

设置EditText可编辑和不可编辑_第1张图片

你可能感兴趣的:(设置EditText可编辑和不可编辑)