使用兼容性库在ListFragment的子类上的ClassCastException

仅当为3.0之前的设备使用兼容性库时才会发生这种情况

我收到的错误是我无法确定的。 我有一个带有ListFragment和标准片段的Activity。 它就像Android Dev Guide的Developers部分中提供的示例。

ListFragment子类(未覆盖任何函数)

public class ItemListFragment extends ListFragment 

主要活动

 public class ItemViewerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.item_viewer); } } 

MainActivity的Xml布局

      

LogCat的错误消息

ERROR / AndroidRuntime:引起:java.lang.ClassCastException:org.example.ItemListFragment无法强制转换为android.app.Fragment

经过一番严肃的谷歌搜索,我发现一篇文章指出了一个不错的小花絮。 使用兼容性库时,使用片段的活动必须扩展FragmentActivity。 一旦我这样做,错误就不再出现了。

对我来说问题是我忘了改变清单。 根据教程的建议,我将Activity转换为Fragment并创建了一个shell Activity来调用它。 我的清单仍指向导致类强制转换exception的Fragment类。