Android 兩個(gè)Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實(shí)例詳解
Android 兩個(gè)Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實(shí)例詳解
作為一個(gè)Android的菜鳥,前些天在做項(xiàng)目的時(shí)候用到了fragment,需求是從一個(gè)Fragment跳轉(zhuǎn)到另一個(gè)Fragment,并且還要傳遞數(shù)據(jù),就像Activity的跳轉(zhuǎn)一樣。在網(wǎng)上找了好久都沒找到很好的列子,最后通過看別人的博客和查文檔終于做好了,現(xiàn)在整理一下,希望能幫助有需要的童鞋。
1、首先在第一個(gè)Fragment 里面拿到FragmentManger 和FragmentTransaction 代碼如下。
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
fm = getFragmentManager();
}
2 準(zhǔn)備要傳遞的數(shù)據(jù)跳轉(zhuǎn)。
deptListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int postion,
long arg3) {
ft = fm.beginTransaction();//注意。一個(gè)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實(shí)現(xiàn)跳轉(zhuǎn),最后別忘了commit 提交。
3 接下來就是在另一個(gè)Fragment 中獲取第一個(gè)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ù)。然后在這個(gè)Fragment中完成你需要的邏輯。好了,整個(gè)Fragment的跳轉(zhuǎn)就算是完成了。
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android 中Seekbar詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 中Seekbar詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android編程實(shí)現(xiàn)Home鍵的屏蔽,捕獲與修改方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)Home鍵的屏蔽,捕獲與修改方法,實(shí)例分析了使用onAttachedToWindow捕獲Home鍵的相關(guān)技巧,需要的朋友可以參考下2016-06-06
Android中PopupWindow彈出式窗口使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android中PopupWindow彈出式窗口的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09
Presenting?Streams?in?Flutter小技巧
這篇文章主要為大家介紹了Presenting?Streams?in?Flutter小技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Android Service自啟動(dòng)注意事項(xiàng)分析
這篇文章主要介紹了Android Service自啟動(dòng)注意事項(xiàng),結(jié)合實(shí)例分析了Android Service自啟動(dòng)過程中屬性設(shè)置的相關(guān)技巧,需要的朋友可以參考下2016-03-03
Android BottomNavigationView與Fragment重建與重疊問題解決方法探索
這篇文章主要介紹了Android BottomNavigationView與Fragment重建與重疊問題解決,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2023-01-01
Flutter開發(fā)之Widget自定義總結(jié)
這篇文章主要給大家介紹了關(guān)于Flutter開發(fā)中Widget自定義的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Flutter app頁(yè)面路由以及路由攔截的實(shí)現(xiàn)
本篇介紹了介紹了Flutter如何使用路由來實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn),從而簡(jiǎn)化頁(yè)面之間的耦合,并可以實(shí)現(xiàn)路由攔截。2021-06-06
Android Service判斷設(shè)備聯(lián)網(wǎng)狀態(tài)詳解
本文主要介紹Android Service判斷聯(lián)網(wǎng)狀態(tài),這里提供了相關(guān)資料并附有示例代碼,有興趣的小伙伴可以參考下,幫助開發(fā)相關(guān)應(yīng)用功能2016-08-08
Android中使用ScrollView實(shí)現(xiàn)滑動(dòng)到底部顯示加載更多
本文主要介紹了android利用ScrollView實(shí)現(xiàn)滑動(dòng)到底部顯示加載更多的示例代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04

