androidEditText不可编辑的问题

简介:

如何在java代码中控制EditText不可编辑呢,因为EditText没有setEditable这样的方法,这个问题坛子里已经有很多高手解决了,使用 InputFilter

具体如下:

 

Java代码   收藏代码
  1. 你的EditText.setFilters(new InputFilter[] {  
  2.             new InputFilter() {  
  3.                 public CharSequence filter(CharSequence source, int start,  
  4.                         int end, Spanned dest, int dstart, int dend) {  
  5.                     return source.length() < 1 ? dest.subSequence(dstart, dend) : "";  
  6.                 }  
  7.             }  
  8.         });  

  (申明下,这个我是在坛子中看到的,本人测试有效) 这样做就可以在java代码中动态设置EditText的编辑状态了,但这个无法解决用户体验的问题,软键盘依然会打开,但无法输入,但可以选择内容。


通过这样方式试试吧,自定义一个类继承EditText

Java代码   收藏代码
  1. package custom.widget;  
  2.   
  3. import android.content.Context;  
  4. import android.util.AttributeSet;  
  5. import android.view.MotionEvent;  
  6. import android.widget.EditText;  
  7.   
  8. public class CustomEditText extends EditText {  
  9.     public CustomEditText(Context context,AttributeSet attrs) {  
  10.         super(context,attrs);  
  11.     }  
  12.       
  13.     @Override  
  14.     public boolean onTouchEvent(MotionEvent event) {  
  15.         // TODO Auto-generated method stub  
  16.         return true;  
  17.     }     
  18. }  
  19.   
  20. //然后在页面布局文件使用自定义的EditText  
  21. <custom.widget.CustomEditText  
  22.          android:layout_width="fill_parent"  
  23.          android:layout_height="wrap_content"  
  24.     />  

相关文章
|
Web App开发 负载均衡 测试技术
使用IIS Server Farms搭建应用服务负载均衡
当公司的业务扩大, 伴随着大量的请求,应用服务器的承受能力已经不能满足不断增长的业务需求,使用IIS Server Farms搭建应负载均衡的方式,把请求分发给不同的应用服务器进行处理,这个时候就降低了应用服务器的压力。
2523 0
|
XML 移动开发 前端开发
HTML5 SVG和canvas的性能探讨
HTML5 中的 SVG(可缩放矢量图形)和 Canvas(画布)分别用于网页图形绘制。SVG 基于矢量图形,使用 XML 描述,适合静态或少量动态内容(如图标、图表),易于编辑且保持高分辨率;Canvas 则基于位图,通过 JavaScript 绘制,更适合快速更新大量图形的场景(如游戏、动态动画),但在复杂图形计算时可能遇到性能瓶颈。总体而言,SVG 适用于静态和少量动态内容,而 Canvas 更适合高频率更新和性能要求高的场景。
|
7月前
|
移动开发 前端开发 JavaScript
React音频播放列表组件:常见问题、易错点与解决方案
本文介绍了在React中实现音频播放列表时常见的挑战及解决方案。通过基础实现、常见问题分析和最佳实践,帮助开发者避免状态管理、生命周期控制和事件处理中的陷阱。关键点包括使用`useRef`操作音频元素、`useState`同步播放状态、全局状态管理防止多音频同时播放、以及通过`useEffect`清理资源。还提供了代码示例和跨浏览器兼容性处理方法,确保高效实现功能并减少调试时间。
222 30
|
12月前
|
Ubuntu TensorFlow 算法框架/工具
NVIDIA Triton系列05-安装服务器软件
本文介绍了NVIDIA Triton推理服务器的安装方法,涵盖源代码编译、可执行文件安装及Docker容器部署三种方式。重点讲解了在NVIDIA Jetson AGX Orin设备上的安装步骤,适合Ubuntu 18及以上系统。通过检查HTTP端口状态确认服务器运行正常,为后续客户端软件安装做准备。
510 0
NVIDIA Triton系列05-安装服务器软件
|
8月前
|
存储 人工智能 算法
打通海量数据,精准挖掘潜在客户
在当今商业环境中,智能拓客技术正深刻变革客户关系管理(CRM)行业。通过大数据、人工智能和云计算,智能拓客系统能够精准挖掘潜在客户,提升销售全流程管理效率。相比传统手动方式,智能拓客大幅提高了获客精度与效率,助力企业实现业务快速增长。以房产中介和金融行业为例,智能拓客显著提升了客户获取量和业务拓展速度,成为企业在激烈市场竞争中的核心竞争力。
|
传感器 机器学习/深度学习 人工智能
人工智能在自动驾驶中的挑战与机遇
【7月更文挑战第2天】自动驾驶技术融合AI、传感器和机器学习,革新交通,但也遭遇多重挑战:传感器在恶劣天气下性能下降,数据处理需高速决策,法规与伦理待明晰,社会接受度低。机遇在于技术创新提升驾驶安全,多模态交通生态,共享出行及物流革命,以及催生新商业模式。面对挑战,各方需合力推动法规完善和社会信任建设,以实现自动驾驶的潜力。
|
机器学习/深度学习 人工智能 前端开发
新一代前端开发工具——基于人工智能的代码生成器
【2月更文挑战第2天】本文介绍了一种新型前端开发工具——基于人工智能技术的代码生成器,通过分析用户需求和设计稿,自动生成高质量前端代码,极大地提升了开发效率和质量。
|
IDE 算法 开发工具
Scratch编程v3.29.1少儿编程工具
SCRATCH是一款由麻省理工学院(MIT)媒体实验室开发的图形化编程语言和集成开发环境(IDE)。它的目标是让编程变得有趣、直观且易学,尤其是针对儿童和青少年群体。通过SCRATCH,用户可以通过拖放代码块的方式来创建动画、故事、游戏等多媒体项目,无需深入了解复杂的编程语法和结构。
322 2
|
前端开发 小程序 测试技术
靠谱:开源IM项目OpenIM压测程序介绍-自己动手测试性能和稳定性
靠谱:开源IM项目OpenIM压测程序介绍-自己动手测试性能和稳定性
883 0
|
存储 分布式计算 运维
hadoop HA高可用集群实战
大数据实战:hadoop HA高可用集群
hadoop HA高可用集群实战