- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
[错误]
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackage/folders.views.activity.MainActivity$17}:
android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class
我从以下代码中得到了 BadParcelableException,但不知道为什么会得到这个。我在 fragment 的 onCreateView 中调用此代码。神秘的是它不会一直崩溃。我现在完全无助了。如果您有一些提示或示例,我很乐意收到您的来信!
final BigItem bigItem = getArguments().getParcelable("big_item"); ← I get error at this code
我将 Parcelable 放入此函数的 budle 中,但我不认为这是原因。
public static BigFragment newInstance(@NonNull final BigItem bigItem, @NonNull final BigListener eventListener) {
final BigFragment frag = new BigFragment();
Bundle args = new Bundle();
args.putParcelable("big_item", bigItem);
frag.setArguments(args);
return frag;
}
这是BigItem的代码如下。
public class BigItem implements Parcelable {
public long id;
public String image;
public String text;
public String web;
public BigItem() {
}
protected BigItem(Parcel in) {
id = in.readLong();
image = in.readString();
text = in.readString();
web = in.readString();
}
public static final Creator<BigItem> CREATOR = new Creator<BigItem>() {
@Override
public BigItem createFromParcel(Parcel in) {
return new BigItem(in);
}
@Override
public BigItem[] newArray(int size) {
return new BigItem[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel par, int flags) {
par.writeLong(id);
par.writeString(image);
par.writeString(text);
par.writeString(web);
}
}
以下 FragmentTransaction 方法位于我的 MainActivity 中
private void addBigFragment(@NonNull final BigItem bigItem, @NonNull final BigFragment.BigEventListener eventListener) {
final FragmentManager fragmentManager = getSupportFragmentManager();
rmBigFragment(fragmentManager);
final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
mBigFragment = BigFragment.newInstance(bigItem, eventListener);
fragmentTransaction.replace(R.id.main_big_layout_fragment, mBigFragment, BigFragment.TAG);
fragmentTransaction.commit();
}
最佳答案
可能与本文重复:How to use Parcelable in fragment for getting data?
我看了你的代码,没有发现错误。你说“它不会一直崩溃”,让我明白你没有插入异常。如果是我,我会写;
Bundle bundle = getArguments();
if (bundle != null) {
BigItem bigItem = bundle.getParcelable("big_item");
}
因为有时 fragment 会在没有参数的情况下恢复。
关于java - 从 Bundle getParcelable 有时会导致 java android 中的 BadParcelableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088168/
我在尝试传递 Parcelable 时遇到此错误通过 Intent .基本上,我已经将我的类(class)实现为 Parcelable ,但我无法将该对象传递给另一个 Activity ,因为它在读取
我的 Activity 允许用户选择地理范围,并通过 setResult 函数返回它们: public class MyActivity extends Activity . . buttonOk
运行稍加修改的 Google map 示例会在 Google map 代码中引发 BadParcelableException。 LatLng 类是 parcelable 但找不到。谷歌地图代码似乎试
我遇到了著名的 BadParcelableException,但我看不出问题出在哪里,这是我的 Parcelable 类: public class PaymentInfoViewModel impl
我对 Serializable 和 Parcelable 很陌生。我很难将此对象的实例从应用程序传递到远程服务: public class Event implements Parcelable, C
我有一个扩展 CoordinatorLayout 的自定义 View 我正在重写 onRestoreInstanceState 和 onSaveInstanceState 使用类扩展 BaseSave
这个错误似乎偶尔会发生,这很奇怪。它通常工作正常,但偶尔会爬起来。这是我的代码,它在 BroadcastReceiver 中: public void onReceive(Context contex
我不知道为什么会这样,我无法重现它。它在控制台中。 我真的很抱歉只输入了代码和日志猫,但我什至无法阅读日志猫,我之前没有遇到过这样的问题,我什至不知道从哪里开始。任何帮助将不胜感激。 这是日志猫, a
我有一个名为 AllStatStruct 的类。这个类包含三个属性,它们是我的类 StatStructCycle、StatStructHistory 和 MatrixStruct 的对象。每个类都扩展
值正在传递并且执行正常,但我看到这些被抛出到 logcat 中,我想消除它们,我检查了旧论坛但没有具体说明。我在下面发布我的代码,请告诉我为什么会不会出现这个问题 public class Execu
我一直在做一项任务,围绕为游戏《三十》(Yatzy 的一个变体)创建一个较小的应用程序。虽然我的 Parcelables 收到一些错误消息。该错误是根据 GameHandler 或 GameRound
我使用联系人选择器获取特定联系人的姓名。对于 Eclair 和后来我使用: startActivityForResult(new Intent(Intent.ACTION_PICK, Contacts
在 Firebase 中,我的生产应用程序(使用 Dexguard)在使用 Parcelable 时遇到了各种崩溃。 . 这些崩溃现在影响了近 200 名用户,并在 Firebase 上分为 3 个条
我在尝试从 Bundle 中检索时看到(不经常 - 很少 = cca 1/1000 次)BadParcelableException。 有人知道为什么会这样吗?我认为它应该总是发生,或者永远不会发生,
[错误] Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypacka
3 天前我已经迁移到 SDK Android 27.1.0,并且有一些像这样的崩溃,我不明白为什么。它(目前)出现在 Android 8 和 6 上。 BadParcelableException C
我的 android 应用程序的生产 apk 中出现以下异常已有 1 天了: java.lang.RuntimeException: Unable to start activity Componen
给定一个自定义类 org.example.app.MyClass implements Parcelable ,我想写一个List到一个包裹。我做了编码 List myclassList = ...
向 YouTube Android Player API 库工程师提交错误:请参阅 android-youtube-api 标签 在过去的一周半中,我注意到这个奇怪的 BadParcelableExc
向 YouTube Android Player API 库工程师提交错误:查看 android-youtube-api 标签 在过去一周半的时间里,我注意到这个奇怪的 BadParcelableEx
我是一名优秀的程序员,十分优秀!