3 回答
TA贡献1906条经验 获得超10个赞
Intent提供了一堆重载的putExtra()方法。
假设您有一个Foo类正确地实现了Parcelable,将其放入Activity中的Intent中:
Intent intent = new Intent(getBaseContext(), NextActivity.class);
Foo foo = new Foo();
intent.putExtra("foo ", foo);
startActivity(intent);
要从其他活动中获取它:
Foo foo = getIntent().getExtras().getParcelable("foo");
希望这可以帮助。
TA贡献1790条经验 获得超9个赞
重要的是要记住,您的模型必须实现Parcelable接口和静态CREATOR方法。这种情况是列表
private static final String MODEL_LIST = "MODEL_LIST";
public MainFragment() {}
public static MainFragment newInstance(ArrayList<YourModel>
models) {
MainFragment fragment = new MainFragment();
Bundle args = new Bundle();
args.putParcelableArrayList(MODEL_LIST,models);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
ArrayList<YourModel> models = getArguments().getParcelableArrayList(MODEL_LIST);
}
}
TA贡献1852条经验 获得超1个赞
首先使用给定技术创建Parcelable,然后
public static CreditCardDetail newInstance(CreditCardItemBO creditCardItem) {
CreditCardDetail fragment = new CreditCardDetail();
Bundle args = new Bundle();
args.putParcelable(CREDIT_KEY,creditCardItem);
fragment.setArguments(args);
return fragment;
}
并得到像
if(getArguments() != null)
{
creditCardItem = getArguments().getParcelable(CREDIT_KEY);
}
哪里
public static final String CREDIT_KEY = "creditKey";
- 3 回答
- 0 关注
- 725 浏览
添加回答
举报