2012-11-08 69 views
0

在使用任務殺手之後,我的應用程序崩潰了很多,因爲顯然該視圖已被刪除,使得getView()返回null。 如何強制片段重新創建它的視圖,如果它碰巧爲空?在片段上強制調用onCreateView

+0

在使用任務殺手之後,您的整個過程都消失了。你還有其他問題。 – CommonsWare

+0

任務kill後,我的getView()返回一個NoSaveStateFrameLayout。任何想法? –

+0

這是完全正常的AFAIK:http://stackoverflow.com/a/9440816/115145 – CommonsWare

回答

1

你可以使用newInstance方法讓你的片段爲靜態。

public static ProfileMainView newInstance(int sectionNumber) { 
     Fragment fragment = new YourFragmentView(); 
     Bundle args = new Bundle(); 
     args.putInt(ARG_SECTION_NUMBER, sectionNumber); 
     fragment.setArguments(args); 
     return fragment; 
    } 

然後用這種方法制作自己的視圖。你需要檢查你的視圖是否爲空。如果它爲空,請再次查看。如果不是,就使用它。我希望它對你有所幫助。

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     if(view == null){ 
      // Make your view here by inflater or whatever 
     } 
     return view; 
    } 
相關問題