Fragment跳轉,同時實現Fragment,fragment跳轉

來源:互聯網
上載者:User

Fragment跳轉,同時實現Fragment,fragment跳轉

在使用getSupportFragmentManager().findFragmentByTag(tag)無法找到,返回為空白,原因由於咋replace()時必須要將fragment放入到返回棧中。

保證調用以下方法:ft.addToBackStack(tag);


/**
* Example of starting nested fragment from another fragment: Fragment
* newFragment = ManagerTagFragment.newInstance(tag.getMac()); TagsActivity
* tAct = (TagsActivity)getActivity(); tAct.pushFragments(newFragment, true,
* true, null);
* --------------------------------------------------------------
* fragement切換

* @param fragment
*            要切換的介面
* @param shouldAnimate
*            是否需要動畫
* @param addToBackStack
*            是否添加到返回棧中(只有添加到返回棧中的介面
*            才可以使用getSupportFragmentManager().findFragmentByTag
*            (setting))找到對應的介面(使用返回鍵返回後,棧中緩衝的介面回收)
* @param tag
*            介面標誌
*/
public void pushFragments(Fragment fragment, boolean shouldAnimate,
boolean addToBackStack, String tag) {
FragmentManager manager = getSupportFragmentManager();// getFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
if (shouldAnimate) {
// ft.setCustomAnimations(R.animator.fragment_slide_left_enter,
// R.animator.fragment_slide_left_exit,
// R.animator.fragment_slide_right_enter,
// R.animator.fragment_slide_right_exit);
}
ft.replace(R.id.sdk_main_content, fragment, tag);
// ft.attach(fragment);


if (addToBackStack) {
/*
* here you can create named backstack for realize another logic.
* ft.addToBackStack("name of your backstack");
*/
ft.addToBackStack(tag);
} else {
/*
* and remove named backstack:
* manager.popBackStack("name of your backstack",
* FragmentManager.POP_BACK_STACK_INCLUSIVE); or remove whole:
* manager.popBackStack(null,
* FragmentManager.POP_BACK_STACK_INCLUSIVE);
*/
manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
ft.commit();
}

</pre><pre name="code" class="java">
</pre><pre name="code" class="java">


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.