android editText如何在代码中设置可以编辑?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android editText如何在代码中设置可以编辑?相关的知识,希望对你有一定的参考价值。

我在xml中设置了android:editable="false",然而某种条件下,要设置为可以编辑状态,在代码中怎么设置可以编辑?(原本xml中是设置了不可以编辑的)

http://blog.csdn.net/luliyuan/article/details/8065447
1、首先想到在xml中设置android:editable="false",但是如果想在代码中动态设置可编辑状态,没有找到对应的函数
2、然后尝试使用editText.setFocusable(false);和editText.setEnabled(false);设置不可编辑状态;editText.setFocusable(true);和 editText.setEnabled(true);设置可编辑状态。
发现在editText.setFocusable(false);和editText.setEnabled(false);时不可编辑,但是editText.setFocusable(true);和 editText.setEnabled(true);也是不可编辑的,感觉这个时候EditText控件高亮度了,但是没有焦点
3、最后尝试使用editText.setFocusable(false);和editText.setFocusableInTouchMode(false);设置不可编辑状态;editText.setFocusableInTouchMode(true);editText.setFocusable(true);editText.requestFocus();设置可编辑状态
这个可以实现可编辑和不可编辑
参考技术A EditText代码中没有设置可编辑的方法。只有一个取得编辑状态的方法:
@Override
protected boolean getDefaultEditable()
return true;

EditText继承自TextView,该方法在TextView中是:
protected boolean getDefaultEditable()
return false;
参考技术B editText.setEnabled(true);//设置可编辑状态
editText.setEnabled(false);//设置不可编辑
参考技术C EditText et =(EditText)findViewById(R.id.XX) ;
et.setEnabled(true) ;追问

et.setEnabled(true) ; 试过了,但是点击的时候会出现虚拟键盘,仍然是可以修改的,,???

参考技术D editText.setEditable(true);

以上是关于android editText如何在代码中设置可以编辑?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 seaborn 的 facetgrid 中设置可读的 xticks?

如何在资产目录中设置可访问性标签? Xcode 11

如何在Android中设置EditText的最大字符数?

如何以编程方式在 dp 中设置 EditText 上边距?

java 在友好URL中设置可选参数

新手求助android在JAVA代码中修改EditText的相关属性。