【Android】ListView中EditText焦点问题
2024-09-04 23:01:29
一、描述:
近期一个项目中需要开发一种类似表格的界面来显示和配置参数,Android并无直接类似表格的控件支持,我采用了ListView中布局EditText和TextView来实现,其中TextView用来显示参数表示符,EditText用来显示参数值,用一个自定义AlertDialog弹出显示,如下图所示。
二、问题:
开发出来的APK软件,在手机上操控是OK的,但在电视上无法操控,具体表现为:
三、解决:
1 通过设置focus停在ListView上,解决ListView无法点击的问题。方法如下
2 关于问题2和3,本身和1就是互斥的,例如我将焦点手动设置到EditText上,此时无法响应点击ListView,更要命的,逻辑完全混乱,例如我按向下键时,光标停留在第一栏,而焦点已经已跟随遥控移动到了 下一栏,此时按OK键,修改的还是光标停留的那一栏的数据,如图3所示。 最终经过反复尝试,下述解决方法得以解决。
解决方法:在ListView中setOnItemSelectedListener的onItemSelected 和 onNothingSelected分别输入下述代码
3 关于问题4,无法调出输入法问题,网上介绍的零零总总,绝大部分都是无用的,仅有一种方法是OK,原文链接在这,解决方法如下:
四、说明:
1 关于android:descendantFocusability,有三个属性值,简述如下表,详述可参考这篇博文说明。
beforeDescendants |
viewgroup会优先其子类控件而获取到焦点 |
afterDescendants |
viewgroup只有当其子类控件不需要获取焦点时才获取焦点 |
blocksDescendants |
viewgroup会覆盖子类控件而直接获得焦点 |
最新文章
- Socket编程——怎么实现一个服务器多个客户端之间的连接
- jQuery extend扩展String原型
- C语言全局变量那些事儿
- hdu 5506 GT and set dfs+bitset优化
- 文件大小K、M、G、T
- BZOJ 2957 &; 线段树上的查询
- C#安全API
- partition实现
- Mybatis批量插入oracle,mysql
- 武汉科技大学ACM :1004: A+B for Input-Output Practice (IV)
- UESTC_秋实大哥下棋 2015 UESTC Training for Data Structures<;Problem I>;
- POJ 2311 Cutting Game [Multi-SG?]
- Java8新特性之三:Stream API
- Redis(4)---主从复制
- python基础一 -------如何在列表字典集合中根据条件筛选数据
- Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理
- [13]Windows 内核情景分析 --- 网络通信
- scss切页面
- SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期
- centos6.5搭建redmine3.4
热门文章
- Windows命令行bat批处理延迟sleep方法
- web项目中url-pattern改成'/'后,js、css、图片等静态资源(404)无法访问问题解决办法
- Linux Cache 机制
- 英特尔、联发科、展讯等开始支持开源的物联网轻量化操作系统AliOS Lite
- String、StringBuffer和StringBuilder有什么区别?
- 瞎比比系列---1st
- hdoj1001【智障了。。。】
- bzoj 3613: [Heoi2014]南园满地堆轻絮【二分+贪心】
- 一篇文章搞定面试中的链表题目(java实现)
- ubuntu 下配置django 项目能够被局域网下的其他电脑访问