【发布时间】:2013-09-10 14:08:30
【问题描述】:
我正在发送一个实现 Serializable 的自定义类的对象:
public class MyObject extends ParseObject implements Serializable {
private static final long serialVersionUID = 1L;
public MyObject() {
}
public String getTitle() {
return getString("title");
}
public void setTitle(String title) {
put("title", title);
}
public ParseFile getParseFile() {
return getParseFile("file");
}
public void setParseFile(ParseFile file) {
put("file", file);
}
}
该类包含 atm 一个字符串和一个 ParseFile。
我正在尝试将一个对象从一个 Activity 传递到另一个。
private void editMyObject(MyObject myObject) {
Intent intent = new Intent(AActivity.this, BActivity.class);
intent.putExtra("MyObject", myObject);
Toast.makeText(getApplicationContext(), "OUT: "+myObject.getTitle(), Toast.LENGTH_SHORT).show(); // here i get the content, proper string
startActivity(intent);
}
在“接收者”活动中:
protected void onCreate(Bundle savedInstanceState) {
...
Intent intent = getIntent();
myObject = (MyObject)intent.getSerializableExtra("MyObject");
if (myObject != null) {
editText.setText(myObject.getTitle());
}
Toast.makeText(getApplicationContext(), "IN: "+myObject.getTitle(), Toast.LENGTH_SHORT).show(); // here is null
}
我做错了什么..?我关注了关于 SOF 的另一个问题,但这没有帮助;) 顺便说一句:不,ParseFile 是来自Parse developers的类
【问题讨论】:
-
要传递用户定义对象,您需要实现 Parsebel 接口而不是 Seriazable
-
@BirajZalavadia Parsebel?是错字吗(你的意思是 Parcelable?)还是我找不到这个?
-
请贴出 MyObject 和 ParseObject 的代码
-
我已经更新了问题。请注意,ParseObject 是一个库(我在问题末尾附上了链接)而不是我的对象。
标签: android android-activity serializable