当前位置: 首页 > 知识库问答 >
问题:

在另一个活动中传递数组列表时出错

丘向荣
2023-03-14

这是我的申报单

List lstProfilePicture = new ArrayList();

这是我调用另一个活动的代码

Intent I = new Intent(logo activity . this,menu activity . class);

i.putExtra(“Profile”, (Serializable) lstProfilePicture);

这是我的个人资料课

公共类配置文件实现可序列化{

private Long employeeCode;
private Bitmap employeePicture;

public Profile() {
}

public Profile(Long employeeCode, Bitmap employeePicture) {
    this.employeeCode = employeeCode;
    this.employeePicture = employeePicture;
}

public Long getEmployeeCode() {
    return employeeCode;
}
public void setEmployeeCode(Long employeeCode) {
    this.employeeCode = employeeCode;
}
public Bitmap getEmployeePicture() {
    return employeePicture;
}
public void setEmployeePicture(Bitmap employeePicture) {
    this.employeePicture = employeePicture;
}

}

这是我的错误信息

/AndroidRuntime:致命异常:主进程:oras.liv.com。在oras中,PID:21484 java.lang.RuntimeException:Parcelable在写入可序列化对象时遇到IOException

如何在课堂上用位图通过?还有别的方法吗?

共有1个答案

徐飞龙
2023-03-14

将其转换为字节数组

活动1:

try {
    //Write file
    String filename = "bitmap.png";
    FileOutputStream stream = this.openFileOutput(filename, Context.MODE_PRIVATE);
    bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);

    //Cleanup
    stream.close();
    bmp.recycle();

    //Pop intent
    Intent in1 = new Intent(this, Activity2.class);
    in1.putExtra("image", filename);
    startActivity(in1);
} catch (Exception e) {
    e.printStackTrace();
}

在活动 2 中,加载位图:

Bitmap bmp = null;
String filename = getIntent().getStringExtra("image");
try {
    FileInputStream is = this.openFileInput(filename);
    bmp = BitmapFactory.decodeStream(is);
    is.close();
} catch (Exception e) {
    e.printStackTrace();
}
 类似资料:
  • 我有一个包含可序列化对象的数组,并试图使用Intent的putExtra()和Bundle的getSerializable()。然而,我得到了一个类转换异常,我不明白为什么。 下面是代码。用户信息是我自己的类,它实现了可序列化,并且我已经能够在活动之间传递单个用户信息对象。我只在尝试使用数组时遇到此问题。 发送可序列化的代码: 检索可序列化的代码: 以下是错误: 问题 我知道我可能只是使用不同的数

  • 我尝试使用 如有任何帮助,不胜感激,谢谢。

  • 在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。

  • 我正在使用解析网站。 我在中有一个。 并且我需要将值传递给。 所以我创建了一个类实现。 但是,我在类中得到了一个。 如何将传递给另一个活动?

  • 我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?

  • 这是我的选择 但我得到了这个错误: java.lang.空指针异常:尝试调用接口方法'intjava.util.List.size()'在空对象引用android.app.ActivityThread.perform启动活动(ActivityThread.java:3507)在android.app.ActivityThread.handle启动活动(ActivityThread.java:366