GridView包含来自DataBase的图像

时间:2011-05-01 09:38:34

标签: android sqlite gridview cursor adapter

我的数据库中有图像,我通过以下代码将其放入GridView:

public void setNotes()
    {
        String[] columns = {NotesDbAdapt.KEY_ID, NotesDbAdapt.KEY_IMG, NotesDbAdapt.KEY_NAME, NotesDbAdapt.KEY_DATE, NotesDbAdapt.KEY_TIME};
        String   table   = NotesDbAdapt.NOTES_TABLE;

        Cursor c = MainNote.mDB.getHandle().query(table, columns, null, null, null, null, null);

        startManagingCursor(c);

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
                R.layout.file_dialog_row,
                c,
                new String[] {NotesDbAdapt.KEY_IMG, NotesDbAdapt.KEY_NAME, NotesDbAdapt.KEY_DATE, NotesDbAdapt.KEY_TIME},
                new int[] {R.id.img, R.id.txt, R.id.date, R.id.time});

        adapter.setViewBinder(new NotesBinder());

        gridview.setAdapter(adapter);
}

一切都好,但滚动速度慢,生涩。似乎信息每次都来自DB。如何解决?

1 个答案:

答案 0 :(得分:1)

此方法在API级别11中已弃用。请改用新的CursorLoader类和LoaderManager。它可以在后台线程上执行游标查询,这样它就不会阻止应用程序的UI。