想象一下存在片段A和片段B.如果我單擊片段A上的按鈕,它會導致片段C.如果我單擊片段B上的按鈕,它也會導致片段C. 現在我想檢測從哪個片段創建片段C.可能嗎?確定當前片段前的片段
0
A
回答
2
您可以簡單地設置一個變量,並傳遞給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
1
##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");
相關問題
- 1. 從當前片段更新以前的片段
- 2. 確定當前在ViewPager中可見的片段
- 3. 片段旋轉不恢復當前片段
- 4. 如何獲得當前片段,並與另一片段
- 5. FragmentManager.popBackStack()將當前片段添加到片段
- 6. 關閉當前片段時,替換片段
- 7. Android將當前片段替換爲另一個片段
- 8. Android刪除當前片段並獲取刪除片段名稱
- 9. Visual Studio 2010片段 - 當前日期
- 10. 如何查找當前片段
- 11. 獲取當前片段顏色
- 12. 使用fragmentpageradapter獲取當前片段
- 13. 獲取當前可見片段Android
- 14. Android - 佈局留在當前片段
- 15. Android - 確定片段
- 16. 顯示前一個片段
- 17. 如何加載與當前片段相同的空間中的新片段
- 18. 家庭片段部分可見與當前片段的混合視圖android studio
- 19. Android - 在交換片段之前加載片段的視圖
- 20. 執行片段之前的方法將片段放入backstack
- 21. 通過導航抽屜替換之前的片段到新的片段,排除新片段中的前一個片段響應
- 22. Android之前的片段空白屏幕
- 23. 返回到以前的片段
- 24. 隱藏以前的片段添加新
- 25. 片段內部的片段
- 26. 片段上方的片段
- 27. 爲什麼片段之前叫過?
- 28. 在Onbackpressed上獲取前一個片段
- 29. XML命名空間前綴:二片段
- 30. 片段之前使用了什麼?
你想在哪裏檢查片段C? – 2014-11-03 10:55:56
在片段C – stephen1706 2014-11-03 10:58:14