如何将GridView绑定到Custom ContentProvider

时间:2011-08-05 07:44:05

标签: android android-contentprovider android-gridview

我正在尝试将客户ContentProvider绑定到包含GridView的活动

    String[] projection = { SAppsDatabase.ID, SAppsDatabase.COL_APP_TITLE};
    String[] uiBindFrom = { SAppsDatabase.COL_APP_TITLE };
    int[] uiBindTo = { R.id.title };

    Cursor apps =  managedQuery(
           MyProvider.CONTENT_URI, projection, null, null, null);

    GridView gridview = (GridView) findViewById(R.id.gridview);

    CursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.grid_app_list, apps,
            uiBindFrom, uiBindTo);

    gridview.setAdapter(adapter);

这不起作用。

我设法通过执行与上面相同的操作将其绑定到ListActivity,并设置:         setListAdapter(适配器);

1 个答案:

答案 0 :(得分:1)

这不适用于GridView,因为名称表明它是一个视图网格

GridView is a ViewGroup that displays items in a two-dimensional, scrollable grid. 
The grid items are automatically inserted to the layout using a ListAdapter.

但是你正在为它提供一个没有多大意义的游标适配器。

看看这个sample

如果您想提供自定义适配器,那么您将拥有扩展适配器并返回适配器中的视图内容。