将数据从 activity 发送到片段 android studio
send data from activity to fragment android studio
我想从activity发送数据到fragment,但是我提交的fragment数据为空。我不知道为什么。这是我发送数据并调用片段时的代码。
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");
有人能帮忙吗?
您正在将参数包传递到 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");
在向事务添加片段时,您正在创建 ViewTaskFragment()
的新实例,使用已创建的对象,您在其中存储了包。
transact.add(R.id.content_frame, vtf , "viewtaskfragment");
改变这个
transact.add(R.id.content_frame, new ViewTaskFragment(), "viewtaskfragment");
到
transact.add(R.id.content_frame, vtf, "viewtaskfragment");
我想从activity发送数据到fragment,但是我提交的fragment数据为空。我不知道为什么。这是我发送数据并调用片段时的代码。
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");
有人能帮忙吗?
您正在将参数包传递到 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");
在向事务添加片段时,您正在创建 ViewTaskFragment()
的新实例,使用已创建的对象,您在其中存储了包。
transact.add(R.id.content_frame, vtf , "viewtaskfragment");
改变这个
transact.add(R.id.content_frame, new ViewTaskFragment(), "viewtaskfragment");
到
transact.add(R.id.content_frame, vtf, "viewtaskfragment");