小编Dai*_*nas的帖子

我替换片段时没有调用Android onDetach()

我有两个片段(FRAGMENT_1,FRAGMENT_2).FRAGMENT_1正在运行计时器,当我打开FRAGMENT_2时,我希望FRAGMENT_1继续运行它.

onCreate()中的FRAGMENT_1:

if (savedInstanceState == null) {
    FRAGMENT_1 fragment1= new FRAGMENT_1();
    fragment1.setRetainInstance(true);
    getSupportFragmentManager()
        .beginTransaction()
        .add(R.id.main_fragment_container, fragment1, FRAGMENT_1_TAG)
        .addToBackStack(null)
        .commit();
}
Run Code Online (Sandbox Code Playgroud)

这是我在片段之间的导航:

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    int id = item.getItemId();
    Fragment fragment = null;
    String fragTag = "";
    switch (id) {
        case R.id.nav_frag_1:
            //this method returns
            //getSupportFragmentManager().getFragments()
            //.contains(getSupportFragmentManager().findFragmentByTag(tag))
            if (isFragmentCreated(FRAGMENT_1_TAG)) {
                fragment = getSupportFragmentManager()
                        .findFragmentByTag(FRAGMENT_1_TAG);
            } else {
                fragment = new FRAGMENT_1();
            }
            fragTag = FRAGMENT_1_TAG;
            break;

        case R.id.nav_frag_2:
            fragment = …
Run Code Online (Sandbox Code Playgroud)

android fragment

3
推荐指数
1
解决办法
2634
查看次数

标签 统计

android ×1

fragment ×1