Как использовать CursorAdapter? - PullRequest
1 голос
/ 06 марта 2012

Я не уверен, правильно ли задан заголовок вопроса, но после большого поиска я задаю этот вопрос.

В моей таблице SQLite есть столбцы

1: _id   2: position   3: path

position: the position of the gridView where the Image is to set
path:  the path of the SDCard having corresponding image

Как бы мне получить изображение с пути и установить в GridView

GridView grid = (GridView) findViewById(R.id.play_grid_view);
DBAdapter adapter = new DBAdapter(this); //My costum adapter for databse operation
adapter.open();
Cursor cusor = adapter.getAllImages(); //returns cursor with 3 columns mentioned above
startManagingCursor(cusor);

После этого, что я должен делать?

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Если ваш столбец position означает положение изображения в сетке, вы можете просто отсортировать запрос по этому столбцу, затем cursorAdapter заполнит вашу сетку в соответствии с позициями, установленными в вашей БД.

Это невозможно использовать, если вы пропустите некоторые ячейки сетки вида (предположим, у вас есть следующие позиции в вашей базе данных: 1,2,4 - тогда ваш адаптер будет заполнять позиции 1,2,3, так как на самом деле позиции нет проверка)

public class ImageCursorAdapter extends CursorAdapter {
    public ImageCursorAdapter(Context context, Cursor c) {
        super(context, c);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        String pos = cursor.getString(positionColumnIndex);
        String path = cursor.getString(pathColumnIndex);
        ImageView image = (ImageView)view;
        image.setImageDrawable(Drawable.createFromPath(path));
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        View v = new ImageView(context);
        bindView(v, context, cursor);
        return v;
    }
}
1 голос
/ 06 марта 2012

Вы ищете SimpleCursorAdapter . Вам нужно настроить метод bindView(), переопределив, чтобы показать, что вы хотите.

Вы также можете попробовать CursorAdapter . Вот учебник ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...