假设有片段A和片段B,如果我单击片段A上的按钮,它就会导致片段C。如果我单击片段B上的按钮,它也会导致片段C。现在我想检测片段C是从哪个片段创建的。有可能吗?
发布于 2014-11-03 11:02:43
您可以简单地设置一个变量,并将其通过包传递给C片段,同时执行如下所示的FragmentTransaction
Fragment fr=new FragmentA();
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
Bundle args = new Bundle();
args.putString("from", "fragmentA");
fr.setArguments(args);
ft.replace(R.id.content_frame, fr);
ft.commit(); 你可以像这样在片段C中检索相同的内容
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String strtext = getArguments().getString("from"); // with value of strtext,you will get to know from which fragment you come from
return inflater.inflate(R.layout.fragment, container, false);
}发布于 2014-11-03 11:40:19
##You can pass a boolean value and toggle between two fragments.##
Bundle args = new Bundle();
args.putBoolean("key",true) // for fragement A
fr.setArguments(args);
ft.replace(R.id.content_frame, fr);
ft.commit();
if(getArguments().getBoolean("key");)
Log.e(LOGTAG,"FROM FRAGMENT A");
else
Log.e(LOGTAG,"FROM FRAGMENT B");https://stackoverflow.com/questions/26712594
复制相似问题