ListView中怎么才能让特定的ITEM获取焦点

ListView中怎么才能让特定的ITEM获取焦点,第1张

ListView默认情况

当item有焦点时,item上的button等子控件获取不到焦点;

当子控件有焦点时,item无焦点无法响应onItemClick事件

ViewGroupFOCUS_AFTER_DESCENDANTS:表示item的子控件优先于item获得焦点;

ViewGroupFOCUS_BEFORE_DESCENDANTS:表示item优先于其子控件获得焦点。

解决办法:

[java] view plaincopy

listViewsetOnItemSelectedListener(onItemSelectedListener);

private AdapterViewOnItemSelectedListener onItemSelectedListener =

new AdapterViewOnItemSelectedListener(){

@Override

public void onItemSelected(AdapterView<> parent, View view,

int position, long id) {

//当此选中的item的子控件需要获得焦点时

parentsetDescendantFocusability(ViewGroupFOCUS_BEFORE_DESCENDANTS);

//else parentsetDescendantFocusability(ViewGroupFOCUS_BEFORE_DESCENDANTS);

}

@Override

public void onNothingSelected(AdapterView<> parent) {

parentsetDescendantFocusability(ViewGroupFOCUS_BEFORE_DESCENDANTS);

}

}

在android系统中,那些被监听对象有哪些:1、单击事件(ViewOnClickListener):当用户触碰到某个组件或者方向键被按下时产生该事件,该事件的处理方法是onClick()。

2、焦点事件(ViewOnFocusChangeListener):组件得到或者失去焦点时产生该事件,事件处理方法是onFocusChange()。

3、按键事件(ViewOnKey Listener):用户按下或者释放设备上的某个按键时产生,事件处理方法是 onKey()。

4、触碰事件(ViewOnTouchListener):设备具有触摸屏功能时,触碰屏幕产生该事件。事件处理方法是onTouch()。

5、创建上下文菜单事件(ViewOnCreateContextMenu Listener):创建上下文菜单时产生该事件,事件处理方法是 onCreateContextMenu()。

方法/步骤

1RatingBar支持的常见xml属性

2我还是用一个例子演示说明

界面布局代码

3效果如图

4详细属性介绍

5代码结构

6界面的代码内容

为了响应星级评分条的改变,要绑定OnRatingBarChangeListener监听

注意事项

本步骤需要一定代码基础

程序代码以代码片段的形式展示

以上就是关于ListView中怎么才能让特定的ITEM获取焦点全部的内容,包括:ListView中怎么才能让特定的ITEM获取焦点、在android系统中,那些被监听对象有哪些、android ratingbar判断怎么显示星星的个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9748320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存