本文实例讲述了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程序设计有所帮助。

更多相关文章

  1. ProgressBar控件的使用(Android设置条形,环形进度条)
  2. Android 自动化测试—robotium(四)CheckBox控件
  3. 将Android Studio里的EditText控件弄成圆角(即背景设置为弧形)
  4. android 精典博文内容推荐
  5. 自定义控件:抽屉SlidingDrawer——wrap_content非全屏
  6. Android必背内容(待续)
  7. 【Android】代码实现模拟屏幕点击和键盘按键事件
  8. androidUI控件
  9. 安卓布局被软键盘顶上去的解决方案

随机推荐

  1. 运用smali自动注入技术分析android应用程
  2. Androdi设置透明度及透明度对应的色值
  3. [Android(安卓)实例] 史上最全的Android
  4. Android中多线程同步问题
  5. android阿里面试java基础锦集
  6. 移动端app开发-02-iPhone/iPad/Android U
  7. Android Framework启动流程浅析
  8. Android内核开发:理解和掌握repo工具
  9. 新浪微博布局学习――妙用TabHost
  10. JavaEye新闻频道的第一个新闻专题Google