我想做这个
class A extends Activity{ private class myClass{ } myClass obj = new myClass(); intent i = new Intent(); Bundle b = new Bundle(); b.putParcelable(Constants.Settings,obj); //I get the error The method putParcelable(String,Parcelable) in the type Bundle is not applicable for the arguments (int,A.myClass) i.setClass(getApplicationContext(),B.class); startActivity(i); }
如何使用Parcelable将obj传递给活动B?
解决方法
正如错误所暗示的,你需要让你的类(在这种情况下是myClass)实现
Parcelable
.如果你看一下
documentation for Bundle
,所有putParcelable方法都采用Parcelable或它们的某种形式的集合. (这是有意义的,给定名称.)因此,如果您想使用该方法,您需要将Parcelable实例放入包中…
当然你不必使用putParcelable – 你可以改为实现Serializable并调用putSerializable.