我有一个自定义课程' Game'我在活动代码的顶部初始化。然后我去另一个活动,通常我通过arraylists等但我想转移到我的自定义类......
我的自定义课程'游戏'是一堆字符串和arraylists与getter和setter mehtods。
我得到了
当我尝试将其添加到intent时出现游戏不是可分割或可序列化的对象
错误。我能在这做什么想法?
//Init Instance of Game class
Game newGame = new Game();
设置我的听众。它适用于
//Setup onclick listeners
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(this_Activity.this, next_Activity.class);
i.putExtra("players", myList);
i.putExtra("newGame", (Parcelable) newGame);
startActivityForResult(i, 0);
}
});
答案 0 :(得分:5)
此外,您的班级Game
可能会实施界面Serializable
:
public class Game implements Serializable {
...
}
您必须在第一项活动中更改监听器:
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(this_Activity.this, next_Activity.class);
i.putExtra("players", myList);
i.putExtra("newGame", newGame);
startActivityForResult(i, 0);
}
});
并在onCreate
中更改方法next_Activity
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Game newGame = (Game) getIntent().getExtras().getSerializable("newGame");
}
答案 1 :(得分:1)
游戏类需要实现Parcelable。