我尝试将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);
我的问题是什么? 谢谢你!
答案 0 :(得分:1)
Cursor类不是parcelable,更好的选择是创建Parcelable实体类,它将表示游标中的一行 所以一行游标是实体的一个对象。使用
ArrayList<Entity> to pass using intent intent.putParcelableArrayListExtra("name", ArrayList<Entity>)
答案 1 :(得分:1)
当你对一些数据使用Intent时,所有数据都被创建克隆并被复制,而Cursor对象需要被关闭并且它是活着的。
所以你不应该使用Cursor发送另一个活动,而是使用ArrayList。