如果我打开相同的片段两次意味着app将被关闭

时间:2016-04-12 15:42:53

标签: android android-fragments

如果我尝试打开相同的片段两次意味着app将被关闭。 请提供任何想法 我的代码是:

if (id == R.id.nav_home) {

       fragment1.setArguments(arguments);
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commit();

    } else if (id == R.id.nav_contact_us) {

        ragment2.setArguments(arguments);
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment2).commit();

    } else if (id == R.id.nav_feedback) {

        fragment3.setArguments(arguments);
        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment3).commit();
    }

1 个答案:

答案 0 :(得分:0)

您应该为您的片段添加标签,并测试当前片段是否具有相同的标签。

if (id == R.id.nav_home && getFragmentManager().findFragmentByTag("fragment1")==null) {

   fragment1.setArguments(arguments);
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment1,"fragment1").commit();

}