安卓TV中Gridview或listview获取不到焦点

大家都知道,TV这一块不仅要实现功能,最主要令我们头疼的不是这个,而是焦点,比如实际开发中,碰到一些常用的控件,如:listview或gridview这些常用的类型主控件,但是实际用遥控器操作时,往往子item得不到焦点的请求,这时检查会发现我们已经设置了焦点或者焦点框。可是问题出在哪里呢,刚开始入手这个的时候,我是直接网上找资料,发现一个共性问题,就是总是每个控件都会设置

android:focusable="true"和
android:focusableInTouchMode="true"

认为这样,这个控件就可以得到焦点了,但是对于istview或gridview来说,要子item得到焦点,则必须要主控件不能得到焦点,如:

<GridView
    android:id="@+id/gv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:stretchMode="columnWidth"
    android:verticalSpacing="@dimen/px40"
    android:focusable="false"
    android:listSelector="@drawable/shape_bg_color"
    android:layout_marginLeft="@dimen/px70"
    android:numColumns="4"/>

当然这是一个列子,其中原理还是得自己动手才知道,还有就是点击事件,可以写在适配器中,也可以

setOnItemClickListener中方法写入。
好了,第一次写博客,可能我表达不好,不懂的留言。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值