簡體   English   中英

在兩個片段之間切換

[英]Switch between two fragments

我要執行以下操作。 首先有兩個片段。 必須在它們之間進行過渡。 當我從第二個片段中的第一個片段開始時,首先將其存儲在堆棧中。 當我單擊“后退”按鈕時,第二個片段將被刪除,並從堆棧中返回第一個片段。 再次,我不能進入第二個片段-它已被刪除。 我怎么解決這個問題?

在主要活動中(Fragment1的回調):

@Override
public void onNavigate() {
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    Fragment1 newFragment1 = (Fragment1) getFragmentManager().findFragmentByTag("frag_1");
    Fragment2 newFragment2 = (Fragment2) getFragmentManager().findFragmentByTag("frag_2");
    ft.replace(R.id.main, newFragment2);
    ft.remove(newFragment1);
    ft.addToBackStack(null);
    ft.commit();
}

我動態添加的片段:

    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.add(R.id.main, new Fragment1(), "frag_1");
    ft.add(R.id.main, new Fragment2(), "frag_2");
    ft.commit();

我解決了這個問題:)。 我隱藏了第一個片段,並將事務添加到后台堆棧。 當我單擊返回按鈕時,我返回到片段

@Override 
public void onNavigate() { 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    Fragment1 newFragment1 = (Fragment1) getFragmentManager().findFragmentByTag("frag_1"); 
    ft.hide(newFragment1); 
    ft.addToBackStack(null); 
    ft.commit(); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM