如何使用GridView实现的表中的列设置数据

时间:2012-12-15 14:39:11

标签: android android-gridview android-gridlayout

我必须在表中查看SQLite数据库的数据,现在的问题是我看到的所有gridView示例都是用一个定义表的所有数据的单个数组实现的

public class GridViewDemo extends Activity implements
        AdapterView.OnItemClickListener {

    TextView selection;
    String[] items = { "this", "is", "a", "really", "really2", "really3",
            "really4", "really5", "silly", "list" };

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        selection = (TextView) findViewById(R.id.selection);

        GridView gv = (GridView) findViewById(R.id.grid);

        ArrayAdapter<String> aa = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_list_item_1, 
                items );

        gv.setAdapter(aa);
        gv.setOnItemClickListener(this);
    }

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        selection.setText(items[position]);
    }

}// class

link

因为我不知道有多少行将包含用户选择的数据集,所以我应该实现一个gridView,它接收每列的不同数据数组。

String dataColumn1[]=....
String dataColumn2[]=....
String dataColumn3[]=....

或者是一个将行限制为指定int的方法,所以使用单个数组也可以解决我的问题。

1 个答案:

答案 0 :(得分:0)

  

我应该实现一个接收不同数据数组的gridView   每一栏。

您可以通过创建自己的自定义适配器并使用position方法中的getView参数从正确的数据数组中获取单元项来轻松实现此功能。问题是您需要找出哪个列具有最大数量的项目,并在其他数据数组中插入假项目以匹配该数字,以便使GridView保持正确状态。

  

或者是将行限制为指定int的方法,所以   也可以用一个数组来解决我的问题。

我不明白这一点,GridView中的行数是由列数和可用数据预先确定的(如果您设置了5列并且有6个数据项,那么您将拥有GridView)中有2行。

您可能还想看一下使用ListView来实施该表格(我answered a question可能对此有用)。