【发布时间】:2016-03-27 13:01:01
【问题描述】:
我正在尝试将 Faults[current] 单个类传递给 Fault_Page 活动。但是遇到了
Parcelable 在写入可序列化对象时遇到 IOException 引起的 java.io.NotSerializableException
在 OnCreate 函数中
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Select_Click();
}
});
public void Select_Click(){
Intent FaultPage=new Intent(this,Fault_Page.class);
Fault send=Faults[current_swap];
FaultPage.putExtra("FaultClass", send);
startActivity(FaultPage);
}
int fault_number=15;
class Fault implements Serializable{
public String fault_name="Not known";
public int L_number=0,T_number=0;
public void Record(){};//currently empty functions
public void Save(){};
public void Delete(){};
}
Fault[] Faults;
Faults=new Fault[15];
for(int i=0;i<Faults.length;i++){
Faults[i]=new Fault();
}
我搜索了类似的问题及其答案。但是,大多数情况下发生的错误是在没有工具的情况下声明内部类,这与我不同。我什至将我的 MainActivity 类更改为 Serializable。但是 StartActivity 函数中仍然会出现错误。字符串可以序列化吗?还是我错过了什么?
【问题讨论】:
-
是的,String可以序列化。我认为问题可能是,intent 可以携带 Parcelable Objects。你为什么不尝试转换
class Fault implements Parcelable?
标签: android class serialization