我有一个填充了自定义数组适配器的列表视图。我想添加部分标题以按日期列出视图项目,这是对象中的一个值。我的适配器类是
public class ReceiptAdapter2 extends BaseAdapter {
Context context;
LayoutInflater inflater;
private ArrayList<ReceiptModel> planList;
public ReceiptAdapter2(Context applicationContext, ArrayList<ReceiptModel> planList) {
this.context = applicationContext;
this.planList = planList;
inflater = (LayoutInflater.from(applicationContext));
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
if (getItem(position) instanceof SectionItem){
return 0;
}else{
return 1;
}
}
@Override
public int getCount() {
return planList.size();
}
@Override
public Object getItem(int i) {
return planList.get(i);
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ReceiptModel model = planList.get(i);
view = inflater.inflate(R.layout.snipadapt, null);
TextView names = (TextView) view.findViewById(R.id.textView);
names.setText(model.getName());
return view;
}
}
MainActivity 代码
if (hstry.length() > 0 && hstry != null) {
for (int i = 0; i < hstry.length(); i++) {
try {
history_data = hstry.getJSONObject(i);
model = new ReceiptModel();
model_section = new SectionItem();
model.setRid(history_data.optString("ID"));
model.setName(history_data.optString("Name"));
model.setMobile(history_data.optString("Mobile"));
model.setTax(history_data.optString("Tax"));
model.setQnt(history_data.optString("T_quantity"));
model.setPrice(history_data.optString("T_price"));
model.setSub(history_data.optString("Sub_total"));
model.setDiscount(history_data.optString("Discount"));
model.setType(history_data.optString("Payment_type"));
model.setDate(db.getCatColor(history_data.optString("Date")));
model_section.setDevice(db.getCatColor(history_data.optString("Date")));
} catch (JSONException e) {
e.printStackTrace();
}
}
setAdapter();
}
设置适配器
private void setAdapter() {
adapter = new ReceiptAdapter2(context,planList);
category_list.setAdapter(adapter);
}
模型类
public class ReceiptModel {
private String id,name,mobile,tax,t_quantity,t_price,s_total,discount,date,type;
private String device;
private String os,location;
private String network,weather,storage,time,internal,cat_id;
public String getRid() {
return id;
}
public void setRid(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {return mobile; }
public void setMobile(String mobile) {this.mobile = mobile; }
public String getTax() {return tax; }
public void setTax(String tax) {this.tax = tax; }
public String getQnt() {return t_quantity; }
public void setQnt(String t_quantity) {this.t_quantity = t_quantity; }
public String getPrice() {return t_price; }
public void setPrice(String t_price) {this.t_price = t_price; }
public String getSub() {return s_total; }
public void setSub(String s_total) {this.s_total = s_total; }
public String getDiscount() {return discount; }
public void setDiscount(String discount) {this.discount = discount; }
public String getDate() {return date; }
public void setDate(String date) {this.date = date; }
}
我参考了许多教程,但对我没有任何作用。我如何将多个数组列表传递给适配器类?感谢您的回复