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);