源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-10-12 04:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android实现EditText控件禁止输入内容的方法(附测试demo)
本文实例讲述了Android实现EditText控件禁止输入内容的方法。分享给大家供大家参考,具体如下: [b]问题:[/b] android如何实现EditText控件禁止往里面输入内容? [b]修改版解决方法:[/b]
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);来开启软键盘。 应用程序默认为开启状态。 特别注意:这种方法也只能禁止软键盘,若手机自带硬键盘,此方案失效。 [b]附测试demo:[/b]
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程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部