具有自定义对象的 Android 自定义 ArrayAdapter

标签 android uitableview listview custom-adapter

上下文:我有一个模型 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/

相关文章:

android - 在 ListView Android 中加载更多选项

listview - 如何在 Xamarin Forms 中获取 ItemTemplate 中的当前项目

android - scp/secure 从远程 android 设备/SSH 服务器复制最新文件

java - 使用 LibGDX 顺时针旋转图像

android - 检测 EditText 上的触摸,但不中断它?

android - 如何从 JNI 调用带有 int 参数的 Java 函数

swift - 单个 UITableview 单元格中的多种字体大小(Swift)

objective-c - TableView reloadData 不调用 cellForRowAtIndexPath

iphone - 在不使用标签的情况下在按钮操作方法中传递参数

android - 如何获取数据来自 Json 格式的服务器的 ListView 所选项目的 ID