android.widget.ArrayAdapter , Call requires API level 11
使用以前在4.0開發的程式,將程式碼複製到要minSdkVersion 為 10的環境下,
結果發生了 android.widget.ArrayAdapter , Call requires API level 11
網路上是有一篇文章
http://stackoverflow.com/questions/9677172/listviews-how-to-use-arrayadapter-addall-function-before-api-11
下段介紹了兩種方法
https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/ArrayAdapter.java
可能是改寫原本的程式
另一個是
http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/
直接用迴圈add
if(m_orders != null && m_orders.size() > 0){
m_adapter.notifyDataSetChanged();
for(int i=0;i<m_orders.size();i++)
m_adapter.add(m_orders.get(i));
}
後來我就改寫我原本的程式,將這樣的一段加入繼承後的Adapter
/**
* Supper all sdk use
* @param list
*/
public void addAllItem(List<YourObjectModel> list) {
if(Build.VERSION.SDK_INT >=11) {
this.addAll(list);
} else {
for (int i = 0; i < list.size(); i++){
this.add(list.get(i));
}
}
}
感覺或許不好,這只是其中一種解決方案。參考參考。