我试图将一个映射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)