我玩弄碎片教程中here在第21条工作时,我的构建目标是android 4.0
它工作正常,但是当我试图改变它,使其与android 2.2
工作,我得到Error inflating class fragment
在MainActivity
类上线setContentView(R.layout.main);
。Android的碎片,使其在Android 2.2
我已经添加了支持包,更改了类ListFragment
和DetailFragment
,分别扩展了android.support.v4.app.ListFragment
和android.support.v4.app.Fragment
。没有编译错误。
我错过了什么吗? TIA!
- EDIT --- 使它工作。我更改了DetailActivity.java
和MainActivity.java
以扩展FragmentActivity
而不仅仅是Activity
。现在一切都好了。但仍然不知道为什么我必须这样做。
检查这里的步骤:http://stackoverflow.com/questions/6528691/fragments-in-android-2-2-1-2-3-2-0-is-this-possible – Calvin 2012-03-23 05:40:48
您能否请您发布堆栈跟踪(打印在LogCat中);我猜你正在调用一个在android 2.2中不可用的方法或类。 – junkdog 2012-03-24 02:54:29
嗨,你必须这样做,因为碎片不是Android 2.X的原始部分。碎片来自API 11,我相信它是3.0版本的Honeycomb。这就是说,您需要利用Android支持库,该支持库包含在您的项目中,以允许在较旧版本的Android中进行片段“模拟”。这就是为什么。 – AutoM8R 2014-01-31 02:56:07