将数据从活动发送到片段android工作室[重复]
Posted
技术标签:
【中文标题】将数据从活动发送到片段android工作室[重复]【英文标题】:send data from activity to fragment android studio [duplicate] 【发布时间】: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");
谁能帮忙?
【问题讨论】:
【参考方案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");
【讨论】:
以上是关于将数据从活动发送到片段android工作室[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ViewPager - 将数据从片段发送到活动时出现 Android 错误 setCurrentItem(int,boolean)