Android如何禁止向EditText控件中输入内容详解

 更新时间:2017年09月11日 09:05:27   作者:dwtedx  
EditText是接受用户输入信息的最重要控件。下面这篇文章主要给大家介绍了关于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开发中Activity的生命周期

    深入解读Android开发中Activity的生命周期

    这篇文章主要介绍了Android开发中Activity的生命周期,包括Activity的停止和销毁等重要内容,非常推荐!需要的朋友可以参考下
    2015-12-12
  • Android中BroadcastReceiver案例讲解

    Android中BroadcastReceiver案例讲解

    今天小编就为大家分享一篇关于Android中BroadcastReceiver案例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Android 7.0 SEAndroid app权限配置方法

    Android 7.0 SEAndroid app权限配置方法

    今天小编就为大家分享一篇Android 7.0 SEAndroid app权限配置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Android json数据解析详解及实例代码

    Android json数据解析详解及实例代码

    这篇文章主要介绍了 Android json数据解析详解及实例代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • Android本地实现搜索历史记录

    Android本地实现搜索历史记录

    这篇文章主要为大家详细介绍了Android本地实现搜索历史记录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • Android获取当前已连接的wifi信号强度的方法

    Android获取当前已连接的wifi信号强度的方法

    这篇文章主要介绍了Android获取当前已连接的wifi信号强度的方法,主要通过系统自带的WifiInfo类实现,需要的朋友可以参考下
    2014-09-09
  • Android版的股票行情K线图开发

    Android版的股票行情K线图开发

    这篇文章主要介绍了Android版的股票行情K线图开发,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android编程设计模式之访问者模式详解

    Android编程设计模式之访问者模式详解

    这篇文章主要介绍了Android编程设计模式之访问者模式,详细分析了访问者模式的概念、功能、原理、使用场景并结合实例形式给出了Android访问者模式的具体实现技巧与相关操作注意事项,需要的朋友可以参考下
    2017-12-12
  • Android使用AudioRecord实现录音功能

    Android使用AudioRecord实现录音功能

    这篇文章主要为大家详细介绍了Android使用AudioRecord实现录音功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Android巧用ActionBar实现下拉式导航

    Android巧用ActionBar实现下拉式导航

    这篇文章主要为大家详细介绍了Android巧用ActionBar实现下拉式导航的相关资料,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05

最新评论