亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android  兩個Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實例詳解

 更新時間:2017年07月31日 08:38:41   作者:依然飯?zhí)叵∥? 
這篇文章主要介紹了Android 兩個Fragment之間的跳轉(zhuǎn)和數(shù)據(jù)的傳遞實例詳解的相關(guān)資料,這里說明實現(xiàn)的思路及實現(xiàn)方法,需要的朋友可以參考下

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)文章

最新評論