gpt4 book ai didi

android - getSerializableExtra() 随机为 null

转载 作者:行者123 更新时间:2023-11-29 14:12:30 26 4
gpt4 key购买 nike

一个 Activity 中有一个链接,我点击它后它会打开另一个 Activity 。我为第二个 Activity 添加了一个 enum 参数。

@Override
protected void onCreate(Bundle savedInstanceState) {
binding.myLink.setOnClickListener(new View.OnClickListener() {
// ...
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivityContext(), SecondActivity.class);
intent.putExtra(KEY, MyEnum.ENUM_VALUE);
startActivity(intent);
}
});
// ...
}

在第二个 Activity 的 onCreate 中我读取了这个参数

@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
// get value
FirstActivity.MyEnum value = (FirstActivity.MyEnum ) getIntent()
.getSerializableExtra(AboutActivity.KEY);

// ...
}

一切正常,但在 Crashlytics 中,我看到某些用户的值为 null。仅从第一个 Activity 调用第二个 Activity ,从其他地方调用。

有人可以向我建议这种行为的场景吗?什么时候可以这样?

我打开了我的应用程序,打开了第二个 Activity 并将应用程序置于后台。几个小时后,我从应用程序列表中打开了我的应用程序,一切正常。没有更多的想法何时会发生。

最佳答案

使用这个:

     @Override
public void onClick(View view) {
Intent intent = new Intent(getActivityContext(), SecondActivity.class);
Bundle bundle=new Bundle();
bundle.putSerializable(serializableKEY,yourSerializableClass);
intent.putExtras(KEY, bundle);
startActivity(intent);
}
});

在第二个 Activity 中:

Bundle bundle=getIntent().getExtras();
yourSerializableClass clazz=(yourSerializableClass)bundle.getSerializable(serializableKEY);

关于android - getSerializableExtra() 随机为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49212315/

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