3

我正在构建平板版本的应用程序,该应用程序将与1.6和更高版本的设备兼容,并且我看到必须与SDK问题相关的崩溃。我正在使用片段静态库来支持片段,但仍然是向后兼容的。Honeycomb SDK是否打破了GridView的向后兼容性?

如果我使用2.3 sdk库进行编译,该应用程序在2.2设备和Xoom上均可正常工作。但是,如果用3.0 SDK编译应用程序运行在Xoom的罚款,但在蜂窝预设备崩溃与此异常:

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

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

其他人看到这个?

感谢, 杰斯

+0

你是如何设置适配器的?你可以显示一些代码和堆栈跟踪? – alexanderblom 2011-04-28 22:56:09

+0

这在下一个SDK更新中得到解决,因此我将关闭此问题。 – 2011-10-31 05:33:29

回答

2

的为AbsListView.setAdapter文档说,这是因为API级别11个可用的 - Android 3.0的,所以我不惊讶你预先蜂窝设备此错误。

+3

这是一个被继承的重写方法。所有'AdapterView'实现都支持'setAdapter()'并且在Android 1.0之前就已经有了 – CommonsWare 2011-04-28 21:34:30

10

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

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