簡體   English   中英

對活動的引用被銷毀了?

[英]Reference to Activity gets destroyed?

我有一個實現FragmentDelegate並處理我所有片段的Activity。 我的片段從CCPFragment擴展:

public class CCFragment extends SherlockFragment{
    public FragmentDelegate m_fragmentDelegate;

    public void setFragmentDelegate(FragmentDelegate fd){
        m_fragmentDelegate=fd;
    }
}

創建片段並將其添加到我的視圖后,它會接收“活動”並保存對其的引用:

fragment.setFragmentDelegate(this);

現在,我想,如果一個活動被銷毀,那么碎片也將被銷毀。 但是我的問題是,當我按下主頁按鈕,然后過一會兒,我再次打開我的應用程序時,片段的m_fragmentdelegate為空! 這怎么可能??

好吧,我不是100%肯定這一點,但是我想這就是正在發生的事情:如果應用程序最小化,Android有時會破壞一些打開的視圖。 當您重新打開它時,Android會嘗試將應用恢復到其最后狀態,因此會重新創建您的Fragment。 現在,如果Android重新創建您的Fragment,則setFragmentDelegate()當然不會被調用。 我會來解決,這是使用片段onAttach()方法,而不是與設置監聽的setFragmentDelegate() 請參閱此處的示例。

暫無
暫無

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

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