一个活动中有一个链接,点击它后会打开另一个活动。我为第二个活动添加了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);
}
});
// ...
}
在第二个活动的onCreate中,我读了这个参数
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
// get value
FirstActivity.MyEnum value = (FirstActivity.MyEnum ) getIntent()
.getSerializableExtra(AboutActivity.KEY);
// ...
}
一切正常但在Crashlytics中我发现对某些用户而言价值为null
。第二个活动仅从第一个活动开始,而不是从其他地方开始。
有人可以建议我这种行为的情景吗?什么时候可以这样发生?
我打开了我的应用程序,打开了第二个活动并将应用程序置于后台。几个小时后,我从应用程序列表中打开了我的应用程序,一切正常。什么时候可以发生的更多想法。
答案 0 :(得分:-1)
使用它:
@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);
}
});
和第二项活动:
Bundle bundle=getIntent().getExtras();
yourSerializableClass clazz=(yourSerializableClass)bundle.getSerializable(serializableKEY);