我膨脹兩個不同的佈局的ListView。一切工作,直到我開始向下滾動2個不同的佈局開始隨機應用。我在這裏跟着其他的例子,但我不能得到它的工作。有什麼建議麼?ListView視圖回收與CustomAdapter
public class CustomAdapter extends BaseAdapter {
Date date = new Date();
private OfferList[] offers;
private String nameCompare = "";
CustomAdapter (OfferList[] offers, FetchItemsTask fetchItemsTask) {
this.offers = offers;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder holder = null;
LayoutInflater inflater = getLayoutInflater();
if (convertView == null) {
holder = new ViewHolder();
if (nameCompare.equalsIgnoreCase(offers[position].getCustomerName())) {
convertView = inflater.inflate(R.layout.list_offer_group, null);
}
else {
nameCompare = offers[position].getCustomerName();
convertView = inflater.inflate(R.layout.list_offer, null);
}
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.color = (TextView) convertView.findViewById(R.id.color_stock);
holder.time = (TextView) convertView.findViewById(R.id.time);
holder.offerStatus = (TextView) convertView.findViewById(R.id.offer_status);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
holder.name.setText(offers[position].getName());
holder.carStockColor.setText(offers[position].getYear() + " " + offers[position].getVehicleMake());
java.util.Date time1 = new java.util.Date(Long.parseLong(offers[position].getModified()));
holder.time.setText(time1.toString().substring(0, 11) + " | ");
holder.offerStatus.setText(offers[position].getStatus());
return convertView;
}
public class ViewHolder {
TextView name;
TextView color;
TextView time;
TextView offerStatus;
}
}
類型計數將返回2,因爲我使用2個佈局。 getItemViewType如何在我的情況下工作? – ono
在你的情況下,根據視圖類型返回0或1。 – fasteque
所以我不需要改變我的getView()方法?只實施其他兩個? – ono