2013-04-28 90 views
0

我寫一個應用程序爲它使用片段Android的,但是當我運行薑餅手機上的應用程序,我在這條線得到一個錯誤:片段薑餅

inflater.inflate(R.layout.fragment_location, container, false); 

它說

android.view.InflateException: Binary XML file line #8: Error inflating class <unknown> 

一切都應該很好,MainActivity擴展FragmentActivity,ViewPager,FragmentPagerAdapter和Fragment都來自支持包。所以我做錯了什麼?

+2

請發佈包含錯誤所抱怨的第8行的佈局文件。 – CommonsWare 2013-04-28 19:25:19

+0

檢查你的LINT警告 – Kitesurfer 2013-04-28 19:26:09

+0

上帝,我覺得這麼愚蠢......顯然薑餅不喜歡它,當你把一個字符串作爲textColor ... – 2013-04-28 19:54:07

回答

-1

Fragment引入API level 11 (Honeycomb)。所以,如果你想靈活使用FragmentsAIP level 11以下,你應該使用庫,如ABS (ActionBarSherlock),你可以從github(https://github.com/JakeWharton/ActionBarSherlock)得到它。更好地使用它。

+5

*技術上*,您不需要ActionBarSherlock在Gingerbread中使用片段,您只需要Android兼容性庫。 – dmon 2013-04-28 19:55:47

+0

如果你想靈活使用Fragments在AIP級別11以下,你應該使用庫如ABS(ActionBarSherlock) – 2013-04-28 20:46:42

1

基於Eclipse的左屏幕:

單擊您的項目,然後點擊「庫」 你會看到,你在你的項目中使用的庫。 右鍵點擊「Android的支持,v4.jar」選擇「構建路徑」 /「添加到構建路徑」

做到這一點後, 頂你的活動中刪除進口的東西,有關片段。

使用v4.app.Fragment

現在試試嗎?

+0

仍然是相同的錯誤.. – 2013-04-28 19:48:49

+0

@oriwass:作爲Commonsware評論你的問題。發佈佈局文件 - 問題在該文件的第8行。 – Squonk 2013-04-28 19:54:24

+0

我建議:不要在佈局文件中使用。如果你想對碎片有更多的權力,你必須使用程序化的碎片。例如,使用然後你會用你的片段填充這個佈局,不管你想要什麼 – Twinsens 2013-04-28 19:56:20

1

正如其他人所提到的,碎片不支持預蜂窩版本的Android,因此您需要爲此使用一個庫。

谷歌有一個,也有一個非常流行的圖書館叫ActionBarSherlock,它也有如何使用它們的例子。

我認爲學習如何使用它們的最好方法是閱讀示例代碼。這並不難。