2016-02-26 77 views
0

下面的代码打开一个新的片段,当单击html链接时,我想关闭当前片段,以便它不保持在后台打开。关闭当前片段时,替换片段

protected boolean isURLMatching(String url) { 
     url = "http://bakara2.com"; 
     // some logic to match the URL would be safe to have here 
     return true; 
    } 

    protected void openNextActivity() { 
     Fragment fragment = null; 
     fragment = new bakara2(); 
     replaceFragment(fragment); 
    } 
    public void replaceFragment(Fragment someFragment) { 
     FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
     transaction.replace(R.id.frame_container, someFragment); 
     transaction.addToBackStack(null); 
     transaction.commit(); 
    } 
+0

你还想要它在后面的堆栈吗?通过删除那里的那个并添加新的来替换它。 – ootinii

回答

0
getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit(); 
0

一次尝试这样做!

getActivity().getFragmentManager().popBackStack(); 
0

@Garry popBackStack()因为@Jusna Leema添加片段作为不会工作:

transaction.replace(R.id.frame_container, someFragment); 
transaction.addToBackStack(null); 
transaction.commit(); 

transaction.addToBackStack(空);

简单删除片段应该工作。