【问题标题】:send data from activity to fragment android studio [duplicate]将数据从活动发送到片段android工作室[重复]
【发布时间】:2016-12-23 20:12:45
【问题描述】:

我想将数据从活动发送到片段,但我提交的片段数据为空。我不知道为什么。这是我发送数据并调用片段时的代码。

String b = "hahhaha";
Bundle bundle = new Bundle();
bundle.putString("coba" ,b);
bundle.putSerializable("modelassign" ,modelAssign);

// set Fragmentclass Arguments
ViewTaskFragment vtf = new ViewTaskFragment();
vtf.setArguments(bundle);

//call fragment
FragmentTransaction transact=getSupportFragmentManager().beginTransaction();
transact.add(R.id.content_frame, new ViewTaskFragment(), "viewtaskfragment");
transact.commit();

这是我检索发送数据时的代码:

 modelAssign = (ModelAssign) this.getArguments().getSerializable("modelassign");
 String haha = this.getArguments().getString("coba");

谁能帮忙?

【问题讨论】:

    标签: android android-fragments bundle


    【解决方案1】:

    在向事务添加片段时,您正在创建 ViewTaskFragment() 的新实例,使用已创建的对象来存储捆绑包。

    transact.add(R.id.content_frame, vtf  , "viewtaskfragment");
    

    【讨论】:

    • 哇.. 非常有帮助,谢谢
    【解决方案2】:

    您将参数包传递到Fragment

    ViewTaskFragment vtf = new ViewTaskFragment();
    vtf.setArguments(bundle);
    

    然后为事务创建一个新的Fragment

    transact.add(R.id.content_frame, new ViewTaskFragment(), "viewtaskfragment");
    

    使用您之前创建的包含参数的Fragment

    transact.add(R.id.content_frame, vtf, "viewtaskfragment");
    

    【讨论】:

      【解决方案3】:

      改变这个

      transact.add(R.id.content_frame, new ViewTaskFragment(), "viewtaskfragment");
      

      transact.add(R.id.content_frame, vtf, "viewtaskfragment");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-27
        • 2017-02-06
        • 1970-01-01
        • 2017-12-16
        • 2012-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多