我有一个带有项目自定义布局的ListView:
(ImageView,TextView,2xImageView和CheckBox)。
我希望我的项目可以被clikable(可以调用OnItemClickListener),可选择(因此我可以选择一个项目)以及CheckBox可以切换并改变其状态。
如何实现?
答案 0 :(得分:0)
您可能必须在适配器的getView()方法中为评级栏创建自己的监听器。
public View getView(int position, View convertView,
ViewGroup parent) {
View row=super.getView(position, convertView, parent);
ViewHolder holder=(ViewHolder)row.getTag();
if (holder==null) {
holder=new ViewHolder(row);
row.setTag(holder);
RatingBar.OnRatingBarChangeListener l=
new RatingBar.OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar,
float rating,
boolean fromTouch) {
Integer myPosition=(Integer)ratingBar.getTag();
RowModel model=getModel(myPosition);
model.rating=rating;
LinearLayout parent=(LinearLayout)ratingBar.getParent();
}
};
holder.rate.setOnRatingBarChangeListener(l);
}
RowModel model=getModel(position);
holder.rate.setTag(new Integer(position));
holder.rate.setRating(model.rating);
return(row);
}
}
您可以看到类似here
的完整示例