如何将Cursor置于Android中?

时间:2014-07-19 07:43:34

标签: android

我尝试将Cursor设置为Intent,但是我有一个错误:

java.lang.ClassCastException: android.content.ContentResolver$CursorWrapperInner cannot be cast to java.io.Serializable

我试试看:

Cursor myCursor = ...
intent.putExtra(QBServiceConsts.EXTRA_MY_CURSOR, (Serializable) myCursor);

我的问题是什么? 谢谢你!

2 个答案:

答案 0 :(得分:1)

Cursor类不是parcelable,更好的选择是创建Parcelable实体类,它将表示游标中的一行 所以一行游标是实体的一个对象。使用

ArrayList<Entity> to pass using intent intent.putParcelableArrayListExtra("name", ArrayList<Entity>)

答案 1 :(得分:1)

当你对一些数据使用Intent时,所有数据都被创建克隆并被复制,而Cursor对象需要被关闭并且它是活着的。

所以你不应该使用Cursor发送另一个活动,而是使用ArrayList。