Android 兩個Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實例詳解
Android 兩個Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實例詳解
作為一個Android的菜鳥,前些天在做項目的時候用到了fragment,需求是從一個Fragment跳轉(zhuǎn)到另一個Fragment,并且還要傳遞數(shù)據(jù),就像Activity的跳轉(zhuǎn)一樣。在網(wǎng)上找了好久都沒找到很好的列子,最后通過看別人的博客和查文檔終于做好了,現(xiàn)在整理一下,希望能幫助有需要的童鞋。
1、首先在第一個Fragment 里面拿到FragmentManger 和FragmentTransaction 代碼如下。
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); fm = getFragmentManager(); }
2 準備要傳遞的數(shù)據(jù)跳轉(zhuǎn)。
deptListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int postion, long arg3) { ft = fm.beginTransaction();//注意。一個transaction 只能commit一次,所以不要定義成全局變量 long id = adapter.getDepartments().get(postion).getId(); String name = adapter.getDepartments().get(postion).getName(); DeptDocFragment df = new DeptDocFragment(); Bundle bundle = new Bundle(); bundle.putLong("id", id); bundle.putString("name", name); df.setArguments(bundle); ft.replace(R.id.guide_content, df); ft.addToBackStack(null); ft.commit(); } });
上面的DeptDocFragment就是我要跳轉(zhuǎn)的Fragment,而傳遞數(shù)據(jù)跟Activity一樣,用Bundle,最后通過df.setArguments(bundle);攜帶數(shù)據(jù)。通過replace方法切換Fragment實現(xiàn)跳轉(zhuǎn),最后別忘了commit 提交。
3 接下來就是在另一個Fragment 中獲取第一個Fragment 傳遞過來的數(shù)據(jù)。
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Bundle bundle = getArguments(); deptId = bundle.getLong("id"); deptName = bundle.getString("name"); }
在Fragment的onCreate() 方法中獲取數(shù)據(jù)。然后在這個Fragment中完成你需要的邏輯。好了,整個Fragment的跳轉(zhuǎn)就算是完成了。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android?ViewPager2?+?Fragment?聯(lián)動效果的實現(xiàn)思路
這篇文章主要介紹了Android?ViewPager2?+?Fragment?聯(lián)動,本篇主要介紹一下 ViewPager2 + Fragment聯(lián)動效果的實現(xiàn)思路,需要的朋友可以參考下2022-12-12Android實現(xiàn)界面內(nèi)嵌多種卡片視圖(ViewPager、RadioGroup)
這篇文章主要為大家詳細介紹了Android實現(xiàn)界面內(nèi)嵌多種卡片視圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09基于Android AppWidgetProvider的使用介紹
本篇文章小編為大家介紹,基于Android AppWidgetProvider的使用。需要的朋友參考下2013-04-04