温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android怎么禁止向EditText控件中输入内容

发布时间:2021-02-20 11:09:03 来源:亿速云 阅读:351 作者:小新 栏目:移动开发

这篇文章主要介绍了Android怎么禁止向EditText控件中输入内容,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

在Android开发中经常会遇到EditText控件,而在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; 
    } 
   } 
  }); 
 } 
}

感谢你能够认真阅读完这篇文章,希望小编分享的“Android怎么禁止向EditText控件中输入内容”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI