我有两个名为Buyer和Car的模型,以及一个名为custom_row的自定义布局来显示ListVIEw的行.
public class CustomAdapter extends BaseAdapter { Context c; ArrayList<Buyer> buyers; public CustomAdapter(Context c, ArrayList<Buyer> buyers) { this.c = c; this.buyers = buyers; } @OverrIDe public int getCount() { return buyers.size(); } @OverrIDe public Object getItem(int position) { return buyers.get(position); } @OverrIDe public long getItemID(int position) { return position; } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) { if (convertVIEw == null) { convertVIEw = LayoutInflater.from(c).inflate(R.layout.custom_row, parent, false); } TextVIEw tvBuyername = (TextVIEw) convertVIEw.findVIEwByID(R.ID.tvBuyername); TextVIEw tvCarModel = (TextVIEw) convertVIEw.findVIEwByID(R.ID.tvCarModel); final Buyer b = (Buyer) this.getItem(position); tvBuyername.setText(b.getBuyername()); return convertVIEw; }}
到目前为止,我只完成了上面的代码,而且我只能显示买家的名字.如何在ArrayList中创建另一个引用来建模Car,这样我就可以在同一个ListVIEw中获取和显示来自模型买家和模型Car的信息?
解决方法:
一种方法是创建一个包含Car& Car的模型.买方数据.
由此你可以从同一个arrayList访问汽车和买家.
另一个是将两个arrayList(carList& buyerList)传递给适配器的构造函数.
ArrayList<Buyer> buyers;ArrayList<Car> cars; public CustomAdapter(Context c, ArrayList<Buyer> buyers, ArrayList<Car> cars) { this.c = c; this.buyers = buyers; this.cars= cars; }
然后
final Buyer b = (Buyer) buyers.getItem(position);tvBuyername.setText(b.getBuyername());final Car c = (Car) cars.getItem(position);tvCar.setText(c.getCarname());
总结 以上是内存溢出为你收集整理的Java – 在自定义适配器中创建对两个模型的引用全部内容,希望文章能够帮你解决Java – 在自定义适配器中创建对两个模型的引用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)