我正在努力构建一个与1.6及更高版本的设备兼容的应用程序的平板电脑版本,我看到一个必须与SDK问题相关的崩溃。我正在使用片段静态库来支持片段,但仍然是向后兼容的。
如果我使用2.3 sdk库编译,该应用程序适用于2.2设备和Xoom就好了。但是,如果使用3.0 sdk进行编译,则应用程序在Xoom上运行正常,但在预蜂窝设备上崩溃,但有以下异常:
java.lang.NoSuchMethodError:android.widget.AbsListView.setAdapter
我在崩溃的代码中正在做的是使用扩展BaseAdapter的类在GridView类上设置适配器。
其他人看到了吗?
谢谢, 杰斯
答案 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设备上出现这个错误感到惊讶。