gpt4 book ai didi

java - 将 Bundle 从一个 Activity 传递到另一个 Activity 时出现 Parceler 错误

转载 作者:行者123 更新时间:2023-11-29 06:57:05 25 4
gpt4 key购买 nike

我决定使用 Parceler,因为它看起来是一个很棒的库,并且得到了作者的大力支持。我正在使用 Parceler 包装一个对象并将其传递给 Bundle 中的另一个 Activity。当我尝试打开对象时出现错误:android.os.Bundle cannot be cast to org.parceler.ParcelWrapper

我的 FirstActivity 代码:

 User user = responseData.getUser();
Bundle bundle = new Bundle();
bundle.putParcelable("User", Parcels.wrap(user));
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("User", bundle);
startActivity(intent);

我的SecondActivity代码:

User user = Parcels.unwrap(this.getIntent().getParcelableExtra("User"));

我怀疑这只是新手犯的错误。感谢任何建设性的帮助!

最佳答案

您只需要将包装对象作为 putExtra 的参数,而不是 Bundle。这是解决方案:

User user = responseData.getUser();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("User", Parcels.wrap(user));
startActivity(intent);

在 SecondActivity 上,在它的 onCreate() 方法中做:

User user = (User) Parcels.unwrap(getIntent().getParcelableExtra("User"));

关于java - 将 Bundle 从一个 Activity 传递到另一个 Activity 时出现 Parceler 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com