【Android】ListView中EditText焦点问题

原文地址为: 【Android】ListView中EditText焦点问题

AndroidListView中EditText焦点问题

SkySeraph Apr. 21st 2013

Emailskyseraph00@163.com

 一、描述:

    近期一个项目中需要开发一种类似表格的界面来显示和配置参数,Android并无直接类似表格的控件支持,我采用了ListView中布局EditText和TextView来实现,其中TextView用来显示参数表示符,EditText用来显示参数值,用一个自定义AlertDialog弹出显示,如下图所示。

 

二、问题:

    开发出来的APK软件,在手机上操控是OK的,但在电视上无法操控,具体表现为:

 

 三、解决:

通过设置focus停在ListView上,解决ListView无法点击的问题。方法如下

关于问题2和3,本身和1就是互斥的,例如我将焦点手动设置到EditText上,此时无法响应点击ListView,更要命的,逻辑完全混乱,例如我按向下键时,光标停留在第一栏,而焦点已经已跟随遥控移动到了 下一栏,此时按OK键,修改的还是光标停留的那一栏的数据,如图3所示。 最终经过反复尝试,下述解决方法得以解决。

解决方法:在ListView中setOnItemSelectedListener的onItemSelected 和 onNothingSelected分别输入下述代码

 

 

3 关于问题4,无法调出输入法问题,网上介绍的零零总总,绝大部分都是无用的,仅有一种方法是OK,原文链接在这,解决方法如下:

 

 四、说明:

1 关于android:descendantFocusability,有三个属性值,简述如下表,详述可参考这篇博文说明。

beforeDescendants

viewgroup会优先其子类控件而获取到焦点

afterDescendants

viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants

viewgroup会覆盖子类控件而直接获得焦点

 


转载请注明本文地址: 【Android】ListView中EditText焦点问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值