如题,解决方法是:
- 在函数内创建一个副本数组
- 把符合要求的元素,从原始数组拷贝到副本数组
- 清空原始数组
- 将副本数组内容拷贝到原始数组
- Over
// 删 删除全部数据
private void deleteFreqsFromDatabase(String freqClass) {
mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
mSQLiteDatabase.delete(FREQ_TABLE_NAME, "freqClass=?", new String[]{mWEBCHOOSE});
// 根据类型W F T 删除指定类型的数据
List<MyFreq> mFreqDatasBF = new ArrayList<>();
int number = mFreqDatas.size();
for(int i=0;i<number;++i){
if(! mFreqDatas.get(i).freqClass.equals(freqClass)){
mFreqDatasBF.add(mFreqDatas.get(i));
}
}
mFreqDatas.clear();
number = mFreqDatasBF.size();
for (int i = 0; i < number; i++) {
mFreqDatas.add(mFreqDatasBF.get(i));
}
//mFreqDatas.clear();//清空所有元素
mSQLiteDatabase.close();
setAdapter();
}