在单个列表视图行中添加多个项目

时间:2013-11-25 10:54:59

标签: android listview

我有列表视图,每行可以有enter image description here个多项(相同类型但不同的值)。每个列表视图项都有左右箭头。但我无法知道如何在每行添加多个值,以及如何在以后添加它们。

这是获取视图:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if(convertView==null){
        holder = new ViewHolder();

        convertView = inflater.inflate(R.layout.beer_list_item, parent,false);
        holder.tv_brandTitle = (TextView)convertView.findViewById(R.id.tv_BrandName);
        holder.tv_packSizeOption = (TextView)convertView.findViewById(R.id.tv_packSizeOption);
        holder.img_manufacturerLogo = (ImageView)convertView.findViewById(R.id.img_brandBigLogo);
        holder.img_canBeerLogo = (ImageView)convertView.findViewById(R.id.img_canBeerImg);
        holder.tv_CanOrBottle = (TextView)convertView.findViewById(R.id.tv_CanOrBottle);

        convertView.setTag(holder);
    }
    else {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.tv_brandTitle.setText(findBeerDataList.get(position).getBrandName());

    int numOfProducts = findBeerDataList.get(position).getBeerProductList().size(); 
    holder.tv_CanOrBottle.setText(findBeerDataList.get(position).getBeerProductList().get(0).getCanOrBottle());

    if(findBeerDataList.get(position).getBeerProductList().get(0).getCanOrBottle().equalsIgnoreCase("can")){
        imageLoader.DisplayImage(findBeerDataList.get(position).getCanImage(), holder.img_canBeerLogo);
    }
    else{
        imageLoader.DisplayImage(findBeerDataList.get(position).getBottleImage(), holder.img_canBeerLogo);

    }

    imageLoader.DisplayImage(findBeerDataList.get(position).getBrandLogo(), holder.img_manufacturerLogo);
    holder.tv_packSizeOption.setText(findBeerDataList.get(position).getBeerProductList().get(0).getPackOption()+"×"+findBeerDataList.get(position).getBeerProductList().get(0).getPackSize()+"ml");

    return convertView; 
}

此处numofproducts是LIst ROW中视图的大小。

请建议我做同样的好方法

2 个答案:

答案 0 :(得分:0)

只需将一个组合视图包含在RelativeLayout中,然后使用View.GONE隐藏一些视图。按下箭头后,您将显示下一个视图并隐藏上一个视图。

答案 1 :(得分:0)

单击右箭头,用新的内容替换当前视图的内容,即下一个项目,单击左箭头将其替换为前一个。