国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 兩個Fragment之間的跳轉和數據的傳遞實例詳解

2019-12-12 02:22:09
字體:
來源:轉載
供稿:網友

Android  兩個Fragment之間的跳轉和數據的傳遞實例詳解

      作為一個Android的菜鳥,前些天在做項目的時候用到了fragment,需求是從一個Fragment跳轉到另一個Fragment,并且還要傳遞數據,就像Activity的跳轉一樣。在網上找了好久都沒找到很好的列子,最后通過看別人的博客和查文檔終于做好了,現在整理一下,希望能幫助有需要的童鞋。

      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() {@Overridepublic 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 傳遞過來的數據。

@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);Bundle bundle = getArguments();deptId = bundle.getLong("id");deptName = bundle.getString("name");}

 在Fragment的onCreate() 方法中獲取數據。然后在這個Fragment中完成你需要的邏輯。好了,整個Fragment的跳轉就算是完成了。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萨嘎县| 三台县| 固始县| 金堂县| 巫山县| 锡林浩特市| 宜君县| 彩票| 龙井市| 松潘县| 烟台市| 东阳市| 汶上县| 天全县| 富源县| 太康县| 离岛区| 牟定县| 电白县| 赞皇县| 茌平县| 孟连| 南京市| 安陆市| 杂多县| 杭州市| 东乡族自治县| 江西省| 湛江市| 潮州市| 鱼台县| 怀宁县| 海宁市| 交城县| 白银市| 海阳市| 双峰县| 特克斯县| 无为县| 旺苍县| 浪卡子县|