【发布时间】:2014-08-03 03:03:14
【问题描述】:
我在此代码上收到“Parcelable 遇到 IOException writing serializable object”错误
public void onClick(View v) {
tvResult.setText("Povezivanje s bazom u tijeku...");
Intent i = new Intent("android.intent.action.MAINACTIVITY");
Details details = new Details();
details.host=etHost.getText().toString();
details.user=etUsername.getText().toString();
details.pass=etPass.getText().toString();
details.database=etBaza.getText().toString();
new GetData(tvResult).execute("");
Bundle bundle = new Bundle();
bundle.putSerializable("Detalji", details);
i.putExtras(bundle);
startActivity(i);
}
这也是我的详细信息类:
public class Details implements Serializable
{
private static final long serialVersionUID = 1L;
private String host;
private String pass;
private String user;
private String database;
}
在startActivity(i) 命令之前一切正常,有人知道为什么吗?
【问题讨论】:
-
如果这就是您在 Details 课程中的全部内容,那么它甚至不应该做任何事情吗?我很确定它甚至不应该编译。这些是私有变量,你不能像这样以公共方式访问它们。
-
它已编译,私有变量没有错误,它们存储在意图中
-
我对它的工作原理感到困惑,
details.host=etHost.getText().toString();(和其他详细信息。* 调用)应该给出错误,您需要将可见性更改为默认值,或者您需要添加一个 getter并设置您的变量。 -
我更改了隐私但仍然是同样的错误
-
@zgc7009 当 Details 是 Inner 类时,这实际上有效。我也想知道,只是测试了一下。
标签: java android serialization