2014-09-26 18 views
0

我試圖將參數從活動傳輸到片段,放到另一個片段中。該應用程序崩潰,並說膨脹的問題。爲什麼應用程序在爲片段設置參數時崩潰

這是我的錯誤日誌:

09-26 09:22:03.968 1524-1524/com.example.user.unchained E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.user.unchained, PID: 1524 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.unchained/com.example.user.unchained.HomesActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class fragment 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
     at android.app.ActivityThread.access$800(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 

代碼的相關部分

final Fragment hf = new HeaderFragment(); 

    Bundle i = getArguments(); 
    Bundle ii = new Bundle(); 

    View header = inflater.inflate(R.layout.fragment_header_fragement, null); 
    View footer = inflater.inflate(R.layout.fragment_footer, null); 


    mDrawerListView.addHeaderView(header); 
    mDrawerListView.addFooterView(footer); 

    ii.putString("Id",i.getString("Id")); 
    ii.putString("Name",i.getString("Name")); 
    ii.putString("ImgUrl",i.getString("ImgUrl")); 

    hf.setArguments(ii); 

    header.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { 
     @Override public void onViewDetachedFromWindow(View v) {} 
     @Override public void onViewAttachedToWindow(View v) { 
      getChildFragmentManager() 
        .beginTransaction() 
        .add(R.id.fragment, hf) 
        .commit(); 
     } 
    }); 
+0

確保您的活動延伸FragmentActivity – 2014-09-26 09:43:04

+0

哪一個好嗎? – 2014-09-26 09:50:03

+0

您在其中顯示片段的活動 – 2014-09-26 09:51:09

回答

0

它看起來像你不指定根視圖。

按照Android documentation

公衆查看充氣(INT資源,根的ViewGroup)

從指定 XML資源充氣一個新的視圖層次結構。如果出現錯誤,則拋出InflateException。

參數 資源= ID爲XML佈局資源加載(例如,R.layout.main_page)

根=可選視圖,使其將所生成的分層結構的父節點。返回充氣層次結構的根視圖。

如果提供了root,這是根View;否則它就是膨脹的XML文件的根源。

既然你沒有定義在任何聲明根視圖,您是從header會爲你的根視圖,然後立即切換到footer作爲根查看。

+0

好吧,我明白但是爲什麼當我不添加Bundle部分它的工作非常好,而在另一種情況下,應用程序墜毀了兩者之間的關係是什麼 – 2014-09-26 10:04:53

+0

哪個包會導致問題? – erad 2014-09-26 10:16:27

+0

我想這是我得到的Bundle,可能它是空的 – 2014-09-26 10:23:41

相關問題