我有列表视图,每行可以有个多项(相同类型但不同的值)。每个列表视图项都有左右箭头。但我无法知道如何在每行添加多个值,以及如何在以后添加它们。
这是获取视图:
@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中视图的大小。
请建议我做同样的好方法
答案 0 :(得分:0)
只需将一个组合视图包含在RelativeLayout
中,然后使用View.GONE
隐藏一些视图。按下箭头后,您将显示下一个视图并隐藏上一个视图。
答案 1 :(得分:0)
单击右箭头,用新的内容替换当前视图的内容,即下一个项目,单击左箭头将其替换为前一个。