使用framelayout中的相同按钮添加和删除片段

时间:2015-03-10 06:18:54

标签: android xml

我是第一次在fragment上工作的新手。我正在创建一个应用程序,我想在框架布局上添加一个片段。我能够做到这一点,但现在我想要的是删除相同的片段,我添加了相同的按钮单击我尝试但不能。这是我的代码。

 public void onClick(View v) {

    android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
    if(v.getId() == R.id.clickme){
        if(getSupportFragmentManager().findFragmentById(R.layout.fragment_one) != null){
          //  getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentById(R.layout.fragment_one)).commit();
            Fragment fragment = new FragmenOne();
            fragmentManager.beginTransaction().remove(fragment).commit();

    }else{
            Fragment fragment = new FragmenOne();
         //   android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();

            fragmentManager.beginTransaction()
                    .replace(R.id.my_frame, fragment)
                    .commit();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你需要这样做

Fragment f = fragmentManager.findFragmentById(R.id.my_frame);
        if(f instanceof FragmenOne) {
            FragmenOne oneFragment = (FragmenOne) f;
            FragmentTransaction trans = manager.beginTransaction();
            trans.remove(oneFragment);
            trans.commit();
            fragmentManager.popBackStack();
        }else{
            Fragment fragment = new FragmenOne();
            fragmentManager.beginTransaction()
            .replace(R.id.my_frame, fragment)
            .commit();
        }