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

作者:Sunnyfans 时间:2021-06-26 08:43:38 

本文实例讲述了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,EditText
0
投稿

猜你喜欢

  • java统计字符串中指定元素出现次数方法

    2022-11-02 16:05:40
  • Java实现角色扮演游戏的示例代码

    2023-03-31 19:41:45
  • ImageView 实现Android colorPikcer 选择器的示例代码

    2023-03-12 03:21:37
  • @Value如何获取yml和properties配置参数

    2021-12-12 13:24:01
  • spring AOP定义AfterThrowing增加处理实例分析

    2021-07-11 14:22:11
  • C#权限管理和设计浅谈

    2023-10-09 07:14:45
  • vscode编写latex的方法

    2022-05-21 13:30:52
  • C#实现FTP客户端的案例

    2023-06-15 19:46:47
  • Kotlin使用协程实现高效并发程序流程详解

    2021-12-27 20:47:21
  • 详解如何更改SpringBoot TomCat运行方式

    2021-11-17 02:48:01
  • C#如何实现调取钉钉考勤接口的功能

    2023-09-14 17:31:47
  • 剑指Offer之Java算法习题精讲链表专项训练

    2023-11-29 16:31:48
  • C#聊天程序服务端与客户端完整实例代码

    2023-08-26 18:59:35
  • spring MVC中接口参数解析的过程详解

    2023-11-28 09:17:50
  • Kotlin伴随对象的初始化方法示例讲解

    2022-07-24 05:53:06
  • springboot集成shiro详细总结

    2022-07-12 14:56:17
  • SpringBoot如何在运行时动态添加数据源

    2023-11-13 21:36:40
  • Java通过底层原码了解数组拷贝

    2021-10-07 12:47:47
  • Java数组越界问题实例解析

    2023-10-25 18:16:23
  • Android Webview的postUrl与loadUrl加载页面实例

    2021-06-26 19:39:04
  • asp之家 软件编程 m.aspxhome.com