我有一个像这样声明的ArrayAdapter的子类
public class ShoppingCartAdapter extends ArrayAdapter<ShoppingCart> {
一切都运转良好。现在突然(?)我在运行2.3.6的Nexus S或2.2抛出的模拟器上遇到此问题
12-19 14:33:36.136: ERROR/AndroidRuntime(27326): FATAL EXCEPTION: main
java.lang.NoSuchMethodError: com.somewhere.mobile.fragment.ShoppingCartListFragment$ShoppingCartAdapter.addAll
然而它仍然适用于例如我的Xoom 3.2。
我没有覆盖超级addAll方法,因为它可以在某些设备上运行,我不知道下一步该在哪里查看。任何提示?
更新:
我用
替换了adapter.addAll(newCarts)for (ShoppingCart cart : newCarts) {
adapter.add(cart);
}
这是有效的。我认为它与仿制药有关,但一直无法确定它。
答案 0 :(得分:44)
addAll(...)
从API 11(Android 3.0)开始添加。这里是doc.
答案 1 :(得分:12)
addAll(...)在较低的API级别中不可用。它在API 11及更高版本中添加。因此,使用add(...)来解决此问题,如下所示
for (int i = 0; i < contents.size(); i++) {
adapter.add(contents.get(i));
}
而不是
//adapter.addAll(contents); //do not use addAll(...)