重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要介紹了怎么在Android中實現兩個Fragment之間的跳轉,創新互聯小編覺得不錯,現在分享給大家,也給大家做個參考,一起跟隨創新互聯小編來看看吧!
Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。
1、首先在第一個Fragment 里面拿到FragmentManger 和FragmentTransaction 代碼如下。
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); fm = getFragmentManager(); }
2 準備要傳遞的數據跳轉。
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就是我要跳轉的Fragment,而傳遞數據跟Activity一樣,用Bundle,最后通過df.setArguments(bundle);攜帶數據。通過replace方法切換Fragment實現跳轉,最后別忘了commit 提交。
3 接下來就是在另一個Fragment 中獲取第一個Fragment 傳遞過來的數據。
@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() 方法中獲取數據。然后在這個Fragment中完成你需要的邏輯。好了,整個Fragment的跳轉就算是完成了。
以上就是創新互聯小編為大家收集整理的怎么在Android中實現兩個Fragment之間的跳轉,如何覺得創新互聯網站的內容還不錯,歡迎將創新互聯網站推薦給身邊好友。