SparseBooleanArray.clone()报错的问题

注:这个一个官方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;
}

 

 

参考:https://hg.mozilla.org/mozilla-central/rev/22638161f53d

报错地址:https://code.google.com/p/android/issues/detail?id=27112

posted @ 2013-10-14 19:53  bigfat  阅读(369)  评论(0)    收藏  举报