【发布时间】:2016-12-26 09:55:46
【问题描述】:
我想将ArraList<MyClass> 保存到内部存储中。所以,我已经对具有 ArrayList 的类和 MyClass 实现了 Serializable。代码如下所示:
public class CustomAdapter extends BaseAdapter implements Serializable {
public ArrayList<TaskItems> taskList = new ArrayList<TaskItems>();
// some fields and variables
// some methods which use below method saveFile()
public void saveFile() {
try {
String filename = "daytodaytasks";
FileOutputStream fileOutputStream = mContext.openFileOutput(filename, Context.MODE_PRIVATE);
//mContext is MainActivity context
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(taskList);
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
class TaskItems implements Serializable {
String smallRectUpText;
String smallRectDownText;
String bigRectText;
}
}
在 CustomAdapter 类中有一些使用 saveFile() 方法的方法。所有方法都是使用类引用从 MainActivity onClick() 方法调用的。当我运行程序并通过按下按钮使用 onClick 方法时,我得到:
java.io.NotSerializableException: com.something.MainActivity
所以我尝试将 Serializable 实现为 MainActivity,但随后我从 AppCompatAcitvity 中得到了相同的异常,MainActivity 扩展了该异常。你能帮帮我吗?
【问题讨论】:
标签: java android serialization arraylist