2013-04-28 67 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,它也有如何使用它们的例子。

我认为学习如何使用它们的最好方法是阅读示例代码。这并不难。