У меня есть объект турнира, который содержит список объектов Match. Я хотел бы отобразить некоторые детали турнира, а затем перечислить совпадения с некоторыми деталями. Проблема заключается в том, что это может быть 1 турнир до 3 соответствий или 1-4 и т.д.Android Итерация по вложенным объектам в RecyclerView
турнир 1
-
+ Матч 1
-
+ 2 матча
турнир 2
-
+ Соревнование 1
-
+ Match 2
-
+ Match 3
Я пытаюсь использовать несколько видов в пределах RecyclerView
и могу получить отношения 1-1, но я не знаю, где добавить итерацию, я тестировал различные вещи с помощью onBindViewHolder
безрезультатно, малое направление было бы очень признателен.
public class MultiViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private List<Tournament> mTournaments;
private static final int VIEW_TYPE_Tournament = 0;
private static final int VIEW_TYPE_Match = 1;
class TournamentHolder extends RecyclerView.ViewHolder {
...
}
class MatchHolder extends RecyclerView.ViewHolder {
...
}
@Override
int getItemViewType(int position) {
return mTournaments.get(position).getType();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_Tournament: return new TournamentHolder (...);
case VIEW_TYPE_Match: return new MatchHolder (...);
default: return new TournamentHolder(...);
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case VIEW_TYPE_Tournament:
TournamentHolder tournamentHolder = (TournamentHolder)holder;
..
break;
case VIEW_TYPE_Match:
MatchHolder matchHolder = (MatchHolder)holder;
...
break;
default:
....
break;
}
}
}
Проверьте @Intdef и используйте его для ваших ВИДОВ ТИПОВ. http://tools.android.com/tech-docs/support-annotations – petey
@petey Спасибо, я рассмотрю использование аннотаций поддержки как typedefs. – xPandemic