注:这个一个官方API文档的错误
因为SparseBooleanArray.clone()这个方法是在android4.x.x上添加的,所以在2.x.x上调用会报错,因此用此方法代替clone()
private SparseBooleanArray cloneCheckStates(SparseBooleanArray mCheckStates) { if (mCheckStates == null) { return null; } SparseBooleanArray checkedStates = null; if (Build.VERSION.SDK_INT <= 14) { checkedStates = new SparseBooleanArray(); for (int i = 0; i < mCheckStates.size(); i++) { checkedStates.put(mCheckStates.keyAt(i), mCheckStates.valueAt(i)); } } else { checkedStates = mCheckStates.clone(); } return checkedStates;}
参考:
报错地址: