您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Android中實現(xiàn)兩個Fragment之間的跳轉(zhuǎn),億速云小編覺得不錯,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨億速云小編來看看吧!
Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。
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)就算是完成了。
以上就是億速云小編為大家收集整理的怎么在Android中實現(xiàn)兩個Fragment之間的跳轉(zhuǎn),如何覺得億速云網(wǎng)站的內(nèi)容還不錯,歡迎將億速云網(wǎng)站推薦給身邊好友。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。