Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android fragments 我如何去除不再使用的碎片_Android Fragments - Fatal编程技术网

Android fragments 我如何去除不再使用的碎片

Android fragments 我如何去除不再使用的碎片,android-fragments,Android Fragments,我不熟悉Android应用程序编程和片段 我使用两个按钮在我的应用程序中的两个片段之间进行转换。我注意到,来回切换frgbutton1和frgbutton2会产生问题 我的第一个片段与第一个片段的一个精确副本重叠。 我的问题是如何销毁或删除第一个片段,以便以后没有重叠副本 public void selectFrag(View view) { Fragment fr1 = null; Fragment fr2 = null; FragmentManager fm = ge

我不熟悉Android应用程序编程和片段

我使用两个按钮在我的应用程序中的两个片段之间进行转换。我注意到,来回切换frgbutton1和frgbutton2会产生问题

我的第一个片段与第一个片段的一个精确副本重叠。 我的问题是如何销毁或删除第一个片段,以便以后没有重叠副本

public void selectFrag(View view) {
    Fragment fr1 = null;
    Fragment fr2 = null;
    FragmentManager fm = getFragmentManager();
    FragmentTransaction fragmentTransaction = fm.beginTransaction();

    if (view == findViewById(R.id.frgbutton1)) {
        fr1 = new Fragment01();

        fragmentTransaction.replace(R.id.fragment_placeholder, fr1);

    }else if (view == findViewById(R.id.frgbutton2)) {
        fr2 = new Fragment02();

        fragmentTransaction.replace(R.id.fragment_placeholder, fr2);

    }

    fragmentTransaction.commit();

}
试试这个:

public void selectFrag(View view) {
    Fragment fr1 = null;
    Fragment fr2 = null;
    FragmentManager fm = getFragmentManager();
    FragmentTransaction fragmentTransaction = fm.beginTransaction();

    if (view.getId()== R.id.frgbutton2) {
        fr1 = new Fragment01();

        fragmentTransaction.replace(R.id.fragment_placeholder, fr1);

    }else if (view.getId() == R.id.frgbutton1) {
        fr2 = new Fragment02();

        fragmentTransaction.replace(R.id.fragment_placeholder, fr2);

    }

    fragmentTransaction.commit();

}