为了账号安全,请及时绑定邮箱和手机立即绑定

Android:如何将Parcelable对象传递给Intent并使用bundle

Android:如何将Parcelable对象传递给Intent并使用bundle

慕侠2389804 2019-12-03 09:55:55
为什么捆绑有getParcelableArrayList,getParcelable方法;但是 Intent只有putParcelableArrayListExtra方法吗?我只能传送object<T>,不能传送ArrayList一个元素吗?那是getParcelable为了什么
查看完整描述

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");

希望这可以帮助。


查看完整回答
反对 回复 2019-12-03
?
富国沪深

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);

        }

    }


查看完整回答
反对 回复 2019-12-03
?
小怪兽爱吃肉

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";


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 725 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信