确定当前片段前的片段
答
您可以简单地设置一个变量,并传递给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);
}
+0
中检查一个函数是否有任何方法来检测它使用回栈或类似的东西?因为可能有很多其他片段导致片段C – stephen1706 2014-11-03 11:28:38
+0
因此,当您将事务处理为片段C并且片段C中的代码始终保持相同时,您每次只需复制粘贴此代码。如果你不想这样,你可以在你的偏好设置一个变量,然后用它来区分片段C中的不同片段 – 2014-11-03 11:43:34
答
##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");
你想在哪里检查片段C? – 2014-11-03 10:55:56
在片段C – stephen1706 2014-11-03 10:58:14