Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-将对象传递给另一个活动_Java_Android_Object - Fatal编程技术网

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