Android 遍历 RecyclerView 中的嵌套对象

Android Iterating over nested Objects in a RecyclerView

我有一个 Tournament 对象,其中包含一个 Match 对象列表。我想显示一些锦标赛的详细信息,然后在下面列出一些详细信息的比赛。问题是它可以是 1 场比赛到 3 场比赛或 1-4 等。

锦标赛 1

锦标赛 2

我一直在尝试在 RecyclerView 中使用多个视图,并且可以使 1-1 关系正常工作,但我不确定在何处添加迭代,我一直在使用 [=13= 测试各种内容] 无济于事,不胜感激。

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;
        }
    }
}

我通过传入一个充当地图的单独数组解决了这个问题,基本上我的适配器看起来像 adapter(map, tournament, matches) 这样我就可以适当地显示我的视图。

如果你有更好的方法,请随时告诉我。