使用来自数据库的gridview在android中显示数据

时间:2011-09-01 11:23:15

标签: android gridview android-widget

我想在gridview中显示数据库中的数据。 意味着我的表中有数据(让它成为客户详细信息),我想在gridview(或任何其他控件中显示详细信息)中显示它,就像在asp.net中一样。

解决方案: -

public void FillGrid() {
    DatabaseHelper dbh = new DatabaseHelper(this);
    dbh.openDataBase();
    Cursor cursor;
    GridView grv = (GridView) findViewById(R.id.grvData);
    cursor = dbh.getGridData();
    dbh.close();
    if (cursor != null) {
        startManagingCursor(cursor);

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                R.layout.gridlayout, cursor,
                new String[] { GridTestActivity.KEY_ROW_ID, GridTestActivity.KEY_ID, GridTestActivity.KEY_DESCRIPTION } 
                ,new int[] { R.id.txtGrv_id, R.id.txtGrvid, R.id.txtGrvDescription } );
        adapter.setViewResource(R.layout.gridlayout);
        grv.setAdapter(adapter);
    }

}

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

这是full example

此外,如果你的开始Android this对你来说是一本好书。

答案 2 :(得分:1)

您可以使用3列设置GridView。它会给你一个Table表格。

OR

您可以为您的应用程序使用自定义GridView使用以下类型的代码..

<强> customergrid.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<GridView
    android:id="@+id/grid"
    android:layout_width="fill_parent"
    android:layout_height="357dp"
    android:numColumns="1"
    android:stretchMode="columnWidth" />

<Button
    android:id="@+id/cancel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="cancel" />

</LinearLayout>

并且,对于每一行使用自定义的Xml文件..

<强> customerrow.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >
<TableRow>
<TextView
 android:layout_width="50px"
 android:layout_height="wrap_content"
 android:id="@+id/row_ID"
 android:padding="5px"
 android:layout_weight="1" />
<TextView 
 android:layout_width="50px"
 android:layout_height="wrap_content"
 android:id="@+id/key_ID"
 android:padding="5px"
 android:layout_weight="1" />
<TextView 
 android:layout_width="50px"
 android:layout_height="wrap_content"
 android:id="@+id/key_Description"
 android:padding="5px"
 android:layout_weight="1" />
</TableRow>
</TableLayout>

在Oncreate()方法上使用customergrid.xml,并在Grid创建中使用customerrow.xml,就像代码一样..

public void FillGrid() {
DatabaseHelper dbh = new DatabaseHelper(this);
dbh.openDataBase();
Cursor cursor;
GridView grv = (GridView) findViewById(R.id.grvData);
cursor = dbh.getGridData();
dbh.close();
if (cursor != null) {
    startManagingCursor(cursor);

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
            R.layout.customerrow, cursor, new String[] { GridTestActivity.KEY_ROW_ID,
            GridTestActivity.KEY_ID, GridTestActivity.KEY_DESCRIPTION }, new int[] {
            R.id.txtGrv_id, R.id.txtGrvid, R.id.txtGrvDescription } );
    adapter.setViewResource(R.layout.gridlayout);
    grv.setAdapter(adapter);
}

}

您现在可以在gridview上从数据库中获取数据。

相关问题