上下文:我有一个模型 Book,其中包含 1 个 Flight 类型的 ArrayList,飞行模型包含一个航段数组。
问题:我需要在一个 listView 中显示所有航段,但我需要按航类分开,每个航类都应该有一个包含出发日期的标题。我面临的问题是在适配器中我无法访问 booth 数据模型。 例如,在 IOS 中,我可以用 indexPath、indexpath.section 表示航类,indexPath.row 表示腿,我正在寻找类似 UITableViewController 的东西。
这是我已经拥有的。
public int getCount() {
return bookingsDetailModel.getFlights().size();
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
SILeg leg = bookingsDetailModel.getFlights().get(position).getFlightLegs()[position];
return viewHolder;
}
我只能访问每个航类的一个航段,每个航类可以有 2 个以上的航段。
任何帮助将不胜感激
最佳答案
您需要按顺序生成 1 个飞行和腿模型列表。
然后在您的适配器中实现 getViewType 方法,为您的标题 View 和 subview 返回不同的 View 类型。使用它,您可以为每种类型膨胀不同的 View 。
关于具有自定义对象的 Android 自定义 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631869/