使用兼容性库在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

  • 为什么AOSP添加新API以支持库而不将其添加到SDK?
  • AppCompat视图和普通Android视图之间的区别
  • 无法解析com.android.support:support-annotations 26.0.1
  • 在包'android'中找不到属性'paddingEnd'的资源标识符
  • 在更新支持库23.2.0后达到counterMaxLength限制时,带有TextInputLayout的Android EditText崩溃
  • 通过向下拖动,BottomSheetDialog在解除后仍然隐藏
  • AutoCompleteTextView浮动提示
  • 首选项支持库 - SwitchPreference无法正常工作
  • 经过一番严肃的谷歌搜索,我发现一篇文章指出了一个不错的小花絮。 使用兼容性库时,使用片段的活动必须扩展FragmentActivity。 一旦我这样做,错误就不再出现了。

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