小编Cra*_*Ray的帖子

如何将列表列表映射到RecyclerView

我试图将一个映射List<List<Object>> 到Android中的RecyclerView,但结果完全搞砸了.
例如,我有一个这样的列表列表(仅用于解释,而不是我的实际情况):

List<List<String>> list = {{a, b, c}, {d, e}, {f, g, h, i}};
Run Code Online (Sandbox Code Playgroud)

Recyclerview应该显示为(第一行包含三个子行,第二行包含两个,最后一行包含四个):

|----a-----|  
|----b-----|  
|----c-----|  
|=======|  
|----d-----|  
|----e-----|  
|=======|  
|----f-----|  
|----g-----|  
|----h-----|  
|----i-----|  
Run Code Online (Sandbox Code Playgroud)

但结果与上述顺序不完全相同.一些元素重复,一些元素消失.例如:

|----d-----|  
|----e-----|  
|----c-----|  
|=======|  
|----d-----|  
|----e-----|  
|=======|  
|----f-----|  
|----a-----|  
Run Code Online (Sandbox Code Playgroud)

这是我的一段代码:

    @Override
public void onBindViewHolder(ViewHolder holder, int position) {
    List<Event> list = eventList.get(position);
    if (holder.rows < list.size()) {
        holder.rowViewGroup.removeAllViews();
        holder.rows = 0;
        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        TextView startView = new TextView(context);
        startView.setLayoutParams(layoutParams);
        Event headEvent = list.get(0);
        Calendar startCal = headEvent.getStartCal(); …
Run Code Online (Sandbox Code Playgroud)

xml android list android-layout android-recyclerview

7
推荐指数
1
解决办法
1252
查看次数