Android 的EditText实现不可编辑

android:editable is deprecated: Use an <EditText> to make it editable

android:editable is deprecated: Use inputType instead

分析:关于EditText控件的read-only问题,即: 无法通过UI更改其中的内容, 但可以选定部分内容, 进行复制.在早期的sdk, EditText有Editable属性, 现在这个属性已经deprecated了.

解决方法:

其实只需一行代码就能搞定et.setKeyListener(null);

注意, 这里不是setOnKeyListener, 而是setKeyListener. 此方法是TextView的成员, 调用后的效果完全符合预期, 并且获得焦点后不会弹出输入法.

下面是官方文档的解释

Sets the key listener to be used with this TextView. This can be null to disallow user input. Note that this method has significant and subtle interactions with soft keyboards and other input method: see KeyListener.getContentType() for important details. Calling this method will replace the current content type of the text view with the content type returned by the key listener.

Be warned that if you want a TextView with a key listener or movement method not to be focusable, or if you want a TextView without a key listener or movement method to be focusable, you must call setFocusable again after calling this to get the focusability back the way you want it.

时间: 2024-12-29 22:35:05

Android 的EditText实现不可编辑的相关文章

Android中Edittext的属性

//此为转载别人的,挺不错的 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod(PasswordTransformationMethod.getInstance()

Android开发EditText属性

转自:http://android.tgbus.com/Android/tutorial/201108/361860.shtml EditText继承关系:View-->TextView-->EditText EditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设置显示在空间上的提示信息android:numeric="integer"//设置只能输入整数,如果是小数则是:decimalandroid:singleLi

Android之EditText 属性汇总 +限定输入某些特殊字符

找了很多地方都没看到,经过尝试,发现这么一种方法可以达到限定edittext中的字符. android:digits="1234567890qwertyuiopasdfghjklzxcvbnm`-=[]\;,./[email protected]#$%^*()_+}{:?&<>"&apos;" 里面是可以输入的字符,大家根据自己的需求添加. 再摘抄一部分其他前辈的博文,留做备份 android:layout_gravity="center

Android锁定EditText内容和随机生成验证码

昨天写了个小Demo,实现了随机生成验证码,和锁定EditText两个小功能,先看一下效果图: 锁定EditText在我们不需要用户编辑EditText内容的时候可以用到,实现还是很简单的,一行代码: etLock.setEnabled(false); 随机生成验证码,主要是用了Random函数,以及将View转为Bitmap的逻辑,也没有难点,下面贴一下代码,供需要的朋友参考: Main.java package com.zms.textlock; import android.graphic

android 修改EditText 中光标

在使用EditText的XML 文件中加入一个属性: android:textCursorDrawable="@null" android:textCursorDrawable   这个属性是用来控制光标颜色的, "@null"   是作用是让光标颜色和text color一样 android:textCursorDrawable 的用法可以查看android sdk 另外可以用一个图片来修改光标的颜色大小 android:textCursorDrawable=&q

Android下EditText的hint的一种显示效果------FloatLabelLayout

效果: 此为EditText的一种细节,平时可能用的不多,但是用户体验蛮好的,特别是当注册页面的项目很多的时候,加上这种效果,体验更好 仅以此记录,仅供学习参考. 参考地址:https://gist.github.com/chrisbanes/11247418 采用的是Android 3.0的动画,所以有版本限制,可以用  nineoldandroids  做向下兼容 ,当然上面的网址也给了另一种方式做向下兼容. demo地址:http://download.csdn.net/detail/ab

android 给 edittext增加边框

给edittext增加  就显示出来边框了 android:background="@android:drawable/edit_text" 例: <EditText      android:id="@+id/et_call"     android:layout_width="140dp"     android:inputType="phone"        android:layout_height="

Android 自定义EditText输入框 带清空按钮

总结  Android 自定义EditText输入框 带清空按钮 当用户输入字符后  EditText会自动在输入框的内部右侧出现删除按钮 重写EditText达到简化布局的效果 效果图: 继承EditText package com.example.myedittexttest; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; imp

Android的 EditText的inputType类型

android开发过程中突然发现的warning EditText 报出 “This text field does not specify an inputType or a hint” 原因: EditText需要指定默认输入类型 加入android:inputType="number|phone",表示指定为数字或电话 inputtype类型如下: //文本类型,多为大写.小写和数字符号.    android:inputType="none"    andr