2

我有这个方法来填充 GridView

private void populateGrid()
{

    GridView gv= (GridView)findViewById(R.id.mygrid);

    Cursor c = getData():
    startManagingCursor(c);

    String[] cols = new String[] { adap.ONE, adap.TWO, adap.THREE};
    int[]   views = new int[] { R.id.txt_1, R.id.txt_2, R.id.txt_3};

    // Now create an array adapter and set it to display using our row
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
            R.layout.row, c, cols, views);

    Log.w("NumRows",adapter.getCount() + "");

    gv.setAdapter(adapter);

}

不幸的是方法

startManagingCursor(c);

而这个构造函数

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
                R.layout.listviewtemp, c, cols, views);

自 API 级别 11 起已弃用。

我应该如何重写这个简单的方法以避免弃用?

4

2 回答 2

0

您需要使用CursorLoader进行迁移。

这提供了比cursoradapter更好的性能。

您可以在以下链接中找到示例项目,该链接获取安装在任何手机中的应用程序列表。

https://github.com/alexjlockwood/AppListLoader.git

祝你好运..

于 2013-10-25T12:42:36.107 回答
0

https://gist.github.com/1217628试试这个,在此之前只需阅读 CursorLoader 的文档

于 2012-12-17T05:04:49.787 回答