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);
}
}
1将ListView的Item Layout的子控件focusable属性设置为false
2对Item Layout的根控件android:descendantFocusability="blocksDescendant"
例如:
<RelativeLayout
xmlns:android=">
RatingBar 自定义style的用法
第一步:配置ratingbar 的style
<style name="foodRatingBar" parent="@android:style/WidgetRatingBar">
<item name="android:progressDrawable">@drawable/food_ratingbar_full</item>
<item name="android:minHeight">48dip</item>
<item name="android:maxHeight">48dip</item>
</style>
第二部:配置 drawable
<xml version="10" encoding="utf-8">
<layer-list xmlns:android=">
以上就是关于ListView中怎么才能让特定的ITEM获取焦点全部的内容,包括:ListView中怎么才能让特定的ITEM获取焦点、android listview 怎么获取焦点、安卓的自定义Ratingbar控件怎么改变星星大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)