我回家时不可序列化的SQLiteCursor

时间:2016-08-01 17:57:26

标签: java android sqlite serializable

我的应用是一个RSS适配器,可与SQlite,viewpagers和RecyclerViews配合使用。一切正常,但是一旦我按下主页按钮离开我的应用程序,我的应用程序崩溃并显示以下logcat:

"Caused by: java.io.NotSerializableException:android.database.sqlite.SQLiteCursor"

我们可以阅读pip install rq

为什么会发生这种情况?

编辑1:

我的应用如何运作。

  1. 主要活动获取RSS的XML代码,一旦完成,MainActivity获取光标并生成Recycler View Adapter。

  2. 主要活动创建了viewpager并向他发送了RecyclerView适配器。

  3. ViewPager创建一个新片段并将适配器传递给新片段

  4. 新片段生成视图并使用ViewPager发送给他的数据设置适配器。

  5. 我意识到在MainActivity中生成适配器并通过3个clases将其传递给片段是很疯狂的。这可能是问题吗?

1 个答案:

答案 0 :(得分:1)

听起来您在活动或其他视图逻辑中持有对SQLiteCursor的引用。当Android尝试暂停您的活动时,它会尝试序列化当前活动所具有的数据(以及相关对象),以便在活动恢复时对其进行反序列化。查看您如何使用SQLiteCursor,不应将它们传递给您的活动或您的活动使用的任何模型对象。