Java Android-将对象传递给另一个活动
我正在使用以下类,我将其作为对象: 我正试图通过以下方式传递信息:Java Android-将对象传递给另一个活动,java,android,object,Java,Android,Object,我正在使用以下类,我将其作为对象: 我正试图通过以下方式传递信息: Intent booklist = new Intent(getBaseContext(), BookList.class); Bundle bundle = new Bundle(); bundle.putParcelable("imageManager", (Parcelable) im); booklist.putExtras(bundle); booklist.addFlags(Int
Intent booklist = new Intent(getBaseContext(), BookList.class);
Bundle bundle = new Bundle();
bundle.putParcelable("imageManager", (Parcelable) im);
booklist.putExtras(bundle);
booklist.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(booklist);
我试图通过以下方式接收:
ImageManager im = (ImageManager) getIntent().getExtras().getParcelable("imageManager");
我得到以下错误:
java.lang.ClassCastException: com.example.example.ImageManager
试试下面的帖子 问题在于ImageManager不是一个寓言对象。这就是演员阵容的错误。 如果imageManager是您的,您应该让类实现Pracabale,就像上面sais的url一样 编辑: 以上应该是做包裹的正确方法, 但是在你的情况下,我真的想说你不应该在不同的活动之间传递ImageManager。因为您在ImageManager类中使用的上下文将被释放。。你肯定会出错
因此,为什么不创建一个新的类实例,只将位图传递给它(在将位图和其他与上下文无关的信息以包的形式传送出去之后)。,并粘贴您的类结构。它将为您创建可打包的类,然后您可以轻松地在活动中传递对象。最简单的方法是实现可序列化
import java.io.Serializable;
@SuppressWarnings("serial")
public class Student implements Serializable {
public Student(int age, String name){
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
private int age;
private String name;
}
将对象从活动A发送到活动B
Student student = new Student (18,"Zar E Ahmer");
Intent i = new Intent(this, B.class);
i.putExtra("studentObject", student);
startActivity(i);
正在获取活动B中的对象
Intent i = getIntent();
Student student = (Student)i.getSerializableExtra("studentObject");
我觉得这是传递图像管理器的问题,你能为ImageManager classC'mon@RiteshGune发布完整的日志catpost代码吗?代码在pastbin url中。。。评论之前先查看。该链接似乎已断开,请在发布前检查该链接;)您没有在ImageManager中实现parcelable