Android中ListView的Item的子控件获取焦点问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中ListView的Item的子控件获取焦点问题相关的知识,希望对你有一定的参考价值。
ListView的Item中包含了ImageView和TextView控件,ImageView可以点击,但是TextView却不能点击
参考技术A ListView默认情况当item有焦点时,item上的button等子控件获取不到焦点;
当子控件有焦点时,item无焦点无法响应onItemClick事件
ViewGroup.FOCUS_AFTER_DESCENDANTS:表示item的子控件优先于item获得焦点;
ViewGroup.FOCUS_BEFORE_DESCENDANTS:表示item优先于其子控件获得焦点。
解决办法:
[java] view plaincopy
listView.setOnItemSelectedListener(onItemSelectedListener);
private AdapterView.OnItemSelectedListener onItemSelectedListener =
new AdapterView.OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
//当此选中的item的子控件需要获得焦点时
parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
//else parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
@Override
public void onNothingSelected(AdapterView<?> parent)
parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
追问
这个我设置了,没有起到效果额
追答实在不行的话你可以把textview改成button,textview有的button都有
参考技术B 设置成编辑框以上是关于Android中ListView的Item的子控件获取焦点问题的主要内容,如果未能解决你的问题,请参考以下文章
Android学习笔记之ListView与Item的焦点冲突处理
android ListView显示多个类型item 和 item中控件抢夺焦点解决办法
android ListView显示多个类型item 和 item中控件抢夺焦点解决办法
我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法