Как привязать GridView к пользовательскому контент-провайдеру - PullRequest
0 голосов
/ 05 августа 2011

Я пытаюсь привязать 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 Ответ

1 голос
/ 05 августа 2011

Это не будет работать для 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.

но вы предоставляете ему адаптер курсора, который не имеет особого смысла.

Взгляните на этот образец

Если вы хотите предоставить пользовательский адаптер, у вас будет расширенный адаптер и вы вернете содержимое просмотра в адаптер.

...