Android实现EditText控件禁止输入内容的方法(附测试demo)

 更新时间:2015年12月11日 09:28:51   作者:Sunnyfans  
这篇文章主要介绍了Android实现EditText控件禁止输入内容的方法,涉及Android针对EditText控件属性设置的相关技巧,需要的朋友可以参考下

本文实例讲述了Android实现EditText控件禁止输入内容的方法。分享给大家供大家参考,具体如下:

问题:

android如何实现EditText控件禁止往里面输入内容?

修改版解决方法:

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

看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗?

再者,如果真要禁止输入文本,在布局文件中添加 android:focusable="false",

或者在代码中使用editText.setFocusable(false),不就Ok了?

项目需求是这样的,如果EditText上面已经被setText()内容,则需要禁止输入,防止它被修改。

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

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

android:focusable="false",即使你在代码中设置此控件属性:editText.setFocusable(true);也不能对它进行编辑。

即setFocusable方案不可行。经过摸索得出可行方案。

利用 editText.setInputType(InputType.TYPE_NULL);来禁止手机软键盘。

editText.setInputType(InputType.TYPE_CLASS_TEXT);来开启软键盘。

应用程序默认为开启状态。

特别注意:这种方法也只能禁止软键盘,若手机自带硬键盘,此方案失效。

附测试demo:

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程序设计有所帮助。

相关文章

  • Android 配置gradle实现VersionCode自增实例

    Android 配置gradle实现VersionCode自增实例

    今天小编就为大家分享一篇Android 配置gradle实现VersionCode自增实例,具有很好的 参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Kotlin入门教程之开发环境搭建

    Kotlin入门教程之开发环境搭建

    最近kotlin大热,Kotlin作为 Android 领域的 Swift,绝对让你如沐春风,下面这篇文章主要给大家介绍了关于Kotlin入门教程之开发环境搭建的相关资料,文中将实现的方法一步步介绍的非常详细,需要的朋友可以参考下。
    2017-10-10
  • 使用ListView实现网上订餐首页

    使用ListView实现网上订餐首页

    这篇文章主要为大家详细介绍了使用ListView实现网上订餐首页,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • android实现百度地图自定义弹出窗口功能

    android实现百度地图自定义弹出窗口功能

    这篇文章主要介绍了android实现百度地图自定义弹出窗口的功能,大家参考使用吧
    2013-11-11
  • Android getViewById和getLayoutInflater().inflate()的详解及比较

    Android getViewById和getLayoutInflater().inflate()的详解及比较

    这篇文章主要介绍了Android getViewById和getLayoutInflater().inflate()的详解及比较的相关资料,这里对这两种方法进行了详细的对比,对于开始学习Android的朋友使用这两种方法是个很好的资料,需要的朋友可以参考下
    2016-11-11
  • Android中制作自定义dialog对话框的实例分享

    Android中制作自定义dialog对话框的实例分享

    这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继承Dialog类来制作自己的对话框,需要的朋友可以参考下
    2016-04-04
  • Android图片加载缓存框架Glide

    Android图片加载缓存框架Glide

    这篇文章主要为大家详细介绍了Android图片加载缓存框架Glide,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Android  隐式Intent的实例详解

    Android 隐式Intent的实例详解

    这篇文章主要介绍了Android 隐式Intent的实例详解的相关资料,隐式意图就是在不明确设置激活对象的前提下寻找最匹配的组件,需要的朋友可以参考下
    2017-08-08
  • Android应用自动跳转到应用市场详情页面的方法

    Android应用自动跳转到应用市场详情页面的方法

    最近在工作中遇到一个需求,推广部门要求实现应用自动跳转到应用市场详情页面,通过查找一些资料,实现出来了,觉得有必要整理下方便以后或者有需要的朋友们参考借鉴,下面来一起详细看看Android应用自动跳转到应用市场详情页面的方法吧。
    2016-12-12
  • android模拟器开发和测试nfc应用实例详解

    android模拟器开发和测试nfc应用实例详解

    本文介绍android模拟器开发nfc应用详解,大家参考使用吧
    2013-12-12

最新评论