我有一个锦标赛对象,其中包含Match对象列表。我想显示一些比赛细节,然后在下面列出比赛中的一些细节。的问题是,它可以是1至锦标赛3匹配或1-4等Android在RecyclerView中迭代嵌套对象
锦标赛1
-
+ 1场
-
+第2场
锦标赛2
-
+比赛1
-
+比赛2
-
+比赛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