android - Honeycomb SDK 是否破坏了 GridView 的向后兼容性?

标签 android gridview backwards-compatibility android-3.0-honeycomb

我正在构建一个与 1.6 及更高版本的设备兼容的应用程序的平板电脑版本,我发现崩溃一定与 SDK 问题有关。我正在使用 fragment 静态库来支持 fragment ,但仍然向后兼容。

如果我使用 2.3 sdk 库进行编译,该应用程序可以在 2.2 设备和 Xoom 上正常运行。但是,如果使用 3.0 sdk 编译,该应用程序在 Xoom 上运行良好,但在 pre-honeycomb 设备上崩溃,出现以下异常:

java.lang.NoSuchMethodError: android.widget.AbsListView.setAdapter

我在崩溃的代码中所做的是在 GridView 类上设置适配器,该类具有扩展 BaseAdapter 的类。

还有其他人看到了吗?

谢谢, 杰斯

最佳答案

不确定异常背后的原因,但解决方法是将您的 View 转换为 AdapterView(在 honeycomb 和 pre-honeycomb 中定义方法的类)。

AbsListView view = (AbsListView) findViewById(R.id.listview);
((AdapterView<ListAdapter>) view).setAdapter(mListAdapter);

关于android - Honeycomb SDK 是否破坏了 GridView 的向后兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5824267/

相关文章:

android - 为什么我在 Jetpack Compose 中收到警告信息 "Modifier parameter should be named modifier"?

android - Android Nexus 7 上的 StageVideo 显示黑色方 block

c# - DevExpress GridView 中的二次排序

java - 测试两个 Maven 工件的向后兼容性

python - 提供与 Python 3.6 变量注释的向后兼容性

android - ActionBar 可见性的 Observable/LiveData?

android - 当 proxifier 运行时,eclipse 显示 "Unable to establish loopback connection"

Asp.Net:GridView 真的能够处理所有浏览器还是只是一种痛苦?

c# - ASP.NET C# - 您是否需要为同一数据库中不同表的每个 GridView 提供单独的数据源?

protocols - 存储大小受限协议(protocol)的前向兼容性