2011-08-05 40 views
0

我试图绑定一个客户的ContentProvider我的活动,拥有一个GridView我怎么一个GridView绑定到一个自定义的ContentProvider

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(adapter);

回答

1

顾名思义它的观点

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. 

一个网格,但你提供它的光标适配器,它并没有太大的意义上,这将不是一个GridView工作。

如果你想提供一个自定义适配器,那么你将不得不延长适配器和返回适配器中查看内容看看这个sample

+0

谢谢拉维。我想我可以解决这个问题。看来我需要将ContentProvider包装在BaseAdapter中。 – andydev

+0

你能解决这个问题吗? – bluefalcon

+0

当我回到开发的这一部分,并实现包装,我会在这里发布 – andydev

相关问题