1

有没有人用过这个类,看看它在android 3.x及更高版本中是否被破坏?在以前的版本中对我来说效果很好。这是一个例子:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MatrixCursor cursorOne = new MatrixCursor(new String[]{ "_id", "name", "description" }); 

cursorOne.addRow(new Object[]{ 5, "Object 2", "Description 2" }); 
cursorOne.addRow(new Object[]{ 5, "Object 3", "Description 3" }); 
cursorOne.addRow(new Object[]{ 5, "Object 4", "Description 4" }); 
cursorOne.addRow(new Object[]{ 5, "Object 5", "Description 5" }); 

CursorAdapter cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursorOne, new String[] { "name", "description" }, new int []{ android.R.id.text1, android.R.id.text2 }); 

MatrixCursor cursorTwo = new MatrixCursor(new String[]{ "_id", "name", "description" }); 

cursorTwo.addRow(new Object[]{ 5, "Object 2", "Description 2" }); 
cursorTwo.addRow(new Object[]{ 5, "Object 3", "Description 3" }); 
cursorTwo.addRow(new Object[]{ 5, "Object 4", "Description 4" }); 
cursorTwo.addRow(new Object[]{ 5, "Object 5", "Description 5" }); 

MergeCursor mergeCursor = new MergeCursor(new Cursor[] { cursorOne, cursorTwo }); 

cursorAdapter.changeCursor(mergeCursor);

setListAdapter(cursorAdapter); 
}

它没有显示任何内容,似乎正在清理游标。我错过了SDK> 3.x 的东西吗?

4

1 回答 1

0

好的,我找到了解决方案:

我替换了兼容性包中的CursorAdapterand导入,并使用了.SimpleCursorAdapterCursorAdapter.swapCursorCursorAdapter.changeCursor

似乎是一些相关的东西,swapCursor不会关闭前一个光标。

于 2012-01-05T18:20:10.553 回答