我有两个ArrayLists,我想删除第一个ArrayList的所有对象,并引用第二个ArrayList。我知道我可以使用removeAll()方法,但它返回false.Both ArrayLists是相同的类型。的removeAll()的任何替代ArrayList removeAll()返回false。任何替代品?
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
if (successfullyAssigned) {
ArrayList<CustomDataModel> dataList = adapter.getDataSet();
Boolean deleted = dataList.removeAll(taskDataList);
Log.d("LogTag", "deleted ? " + deleted);
setPreference(getPrefName(), dataList);
}
}
public ArrayList<CustomDataModel> getDataSet() {
return dataSet;
}
private class AssignTask extends AsyncTask<ArrayList<CustomDataModel>, Void, Void> {
ProgressDialog progressDialog;
ArrayList<CustomDataModel> taskDataList;
Boolean successfullyAssigned;
@SafeVarargs
@Override
protected final Void doInBackground(ArrayList<CustomDataModel>... callData) {
taskDataList = callData[0];
它是否会返回'false',因为它是空的开始? –
'removeAll'返回false,因为'dataList'和'taskDataList'不包含共同的元素。正如@JoeC所说,一个很好的选择是,其中至少有一个是空的 –