具有自定义项布局和CheckBox的ListView - 项不可单击

时间:2011-12-15 16:04:40

标签: android listview checkbox touch

我有一个带有项目自定义布局的ListView:

(ImageView,TextView,2xImageView和CheckBox)。

我希望我的项目可以被clikable(可以调用OnItemClickListener),可选择(因此我可以选择一个项目)以及CheckBox可以切换并改变其状态。

如何实现?

1 个答案:

答案 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

的完整示例