Honeycomb SDK是否打破了GridView的向后兼容性?

时间:2011-04-28 20:01:51

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

我正在努力构建一个与1.6及更高版本的设备兼容的应用程序的平板电脑版本,我看到一个必须与SDK问题相关的崩溃。我正在使用片段静态库来支持片段,但仍然是向后兼容的。

如果我使用2.3 sdk库编译,该应用程序适用于2.2设备和Xoom就好了。但是,如果使用3.0 sdk进行编译,则应用程序在Xoom上运行正常,但在预蜂窝设备上崩溃,但有以下异常:

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

我在崩溃的代码中正在做的是使用扩展BaseAdapter的类在GridView类上设置适配器。

其他人看到了吗?

谢谢, 杰斯

2 个答案:

答案 0 :(得分:10)

不确定异常背后的原因,但解决方法是将视图转换为AdapterView(在蜂窝和预蜂窝中定义方法的类)。

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

答案 1 :(得分:2)

AbsListView.setAdapter的文档说它可以从Api等级11 - Android 3.0开始使用,所以我不会对你在Honeycomb设备上出现这个错误感到惊讶。