EditText禁止输入_设置EditText禁止键盘不可编辑
2017-09-08 13:20:59  By: dwtedx

在App开发过程在、遇到了这样一个问题、那就是Android EditText控件如何禁止往里面输入内容?最开始找到修改版解决方法、但是当想输入的时候就有问题了、可以参考一下、但不建议这样写

EditText editText =  (EditText) findViewById(R.id.editText1);
editText.setKeyListener(null);


看到这个问题大家可能有点奇怪了、EditText的功能不就是往上面写入内容吗?再者、如果真要禁止输入文本、在布局文件中添加

android:focusable="false"


或者在代码中使用、不就Ok了?

editText.setFocusable(false)



项目需求是这样的、在EditText后面跟一个CheckBox、勾选CheckBox可以输入、否则不可以输入、另外也有这种需求、比如已经被setText()内容、则需要禁止输入、防止它被修改、

如果没有显示内容、则将EditText设置为可输入状态

经过测试验证:setFocusable方法的效果只有第一次使用时有效、也就是说若在布局文件里面设置:

android:focusable="false"


即使你在代码中设置此控件属性:editText.setFocusable(true);也不能对它进行编辑、即setFocusable方案不可行、经过摸索得出可行方案利用setInputType来实现、代码如下

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


应用程序默认为开启状态、特别注意:这种方法也只能禁止软键盘、若手机自带硬键盘、此方案失效

public class EditTextTest extends Activity  
{  
    /** test EditText forbid input function demo  */  
    EditText editText;  
    boolean flag = true;  
  
    public void onCreate(Bundle savedInstanceState)  
    {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        editText = (EditText) findViewById(R.id.editText1);  
        Button btn = (Button) findViewById(R.id.button1);  
        btn.setOnClickListener(new OnClickListener()  
        {  
            public void onClick(View v)  
            {  
                if (flag==true)  
                {  
                    System.out.println("开启软键盘");  
                     editText.setInputType(InputType.TYPE_CLASS_TEXT);  
                    flag = false;  
                      
                }else  
                {  
                    System.out.println("禁止软键盘");  
                     editText.setInputType(InputType.TYPE_NULL);  
                    flag = true;  
                }  
            }  
        });  
    }  
}  


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+