2016-02-25 3 views
1

Контекст: У меня есть модель Книга, которая содержит 1 ArrayList типа Flight, модель полета содержит массив ног.Android Custom ArrayAdapter с пользовательским объектом

Вопрос: Мне нужно показать все ноги в одном списке, но мне нужно, чтобы он был отделен полетом, каждый рейс должен иметь заголовок с датой вылета. Проблема, с которой я сталкиваюсь, заключается в том, что в адаптере я не могу получить доступ к моделям данных кабин. Например, в 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; 
} 

Я могу получить доступ только к одной ноге каждого рейса, и каждый рейс может иметь более двух ножек.

Любая помощь будет высоко ценится

ответ

1

Вам нужно создать 1 Список как полет и моделей Окорок в порядке.

Затем реализуйте метод getViewType в вашем адаптере, чтобы возвращать разные типы просмотров для заголовков и дочерних представлений. Используя это, вы можете раздувать разные виды для каждого типа.

+0

нет способа получить эти два списка? – Klinkert0728

+0

Легче иметь их в одном списке, поскольку индекс в этом списке будет вашим индексом адаптера, но с некоторой умной математикой у вас может быть несколько списков – keith

Смежные вопросы