使用3个列表填充GridView

时间:2015-02-20 22:29:58

标签: java android gridview

我有3个列表,我希望他们在点击按钮时填充gridview。

在Layout.xml中,griView的numColumns为3

private List<Strings> list1;
private List<Strings> list2;
private List<Strings> list3;

public void buttonOnClick(View v)
{
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
           android.R.layout.simple_list_item_1, list1);

    gridView.setAdapter(adapter);
}

我想让GridView像这样打印

list1(0)   list2(0)    list3(0)
list1(1)   list2(1)    list3(1)
list1(2)   list2(2)    list3(2)
list1(3)   list2(3)    list3(3)

2 个答案:

答案 0 :(得分:1)

使用三个列表的大小相同:

List<String> gridList = new ArrayList<String>();
for(int i=0; i<list1.length; i++) {
    gridList.add(list1.get(i));
    gridList.add(list2.get(i));
    gridList.add(list3.get(i));
}

// Creates adapter with mixed list.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, gridList);
gridView.setAdapter(adapter);

然后将gridView numColumns设置为3:

<GridView android:id="@+id/gvItems" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:numColumns="3"
    android:gravity="center"
    android:stretchMode="columnWidth" />

答案 1 :(得分:0)

在这种情况下,请制作第四个列表,其中包含三种列表的内容,采用“隔行”方式:

{ l1[0], l2[0], l3[0],   // just a sample array for
  l1[1], l2[1], l3[1] }; // illustrational purposes

并使用此类已创建的ArrayAdapter为您的ArrayList提供信息。 但请注意,要保持列数固定,否则GridView将不再符合预期。

相关问题