private void init() { int count = mAdapter.getCount(); for (int i = 0; i < count; i++) { IRecord record = (IRecord) mAdapter.getItem(i); // 过滤掉分隔线 if (record == null) { mRecordItemList.add(null); continue; } RecordItem item = new RecordItem(); item.record = (IRecord) mAdapter.getItem(i); item.isSelected = isRecordSelectable((RestorableRecord) item.record); mRecordItemList.add(item); } }
public void setItemSelected(int position, boolean selected) { RecordItem recordItem = mRecordItemList.get(position); if (recordItem != null) { final RestorableRecord record = (RestorableRecord) recordItem.record; if (selected && !isRecordSelectable(record)) { showToast("暂不支持只有数据的应用程序整合"); notifyDataSetChanged(); return; } recordItem.isSelected = selected; if (mOnItemSelectedListener != null) { mOnItemSelectedListener.onItemSelected(getItem(position), selected); } notifyDataSetChanged(); } }
private void init() { mBackupManager = BackupManager.getInstance(); List<IRecord> records = new ArrayList<IRecord>(); // // 将整合备份项加入第一个 mSmartMergedRecord = getMergedRecord(); // if (smartMergedRecord != null) { // records.add(smartMergedRecord); // mMergedRecord = new RecordItem(); // mMergedRecord.record = smartMergedRecord; // mMergedRecord.isSelected = false; // } // 讲定时备份项加入第二个 IRecord scheduleRecord = getScheduleRecord(); if (scheduleRecord != null) { records.add(scheduleRecord); mScheduledRecord = new RecordItem(); mScheduledRecord.record = scheduleRecord; mScheduledRecord.isSelected = false; } List<IRecord> normalRecords = mBackupManager.getAllRestoreRecords(); if (normalRecords != null && normalRecords.size() > 0) { records.addAll(normalRecords); } mAdapter = new RecordItemListAdapter(this, new RecordListAdapter(this, records)); ((RecordItemListAdapter) mAdapter) .setOnItemSelectedListener( new OnItemSelectedListener() { @Override public void onItemSelected(Object item, boolean selected) { updateMergeButton(); updateSelectButton(); } }); mListView.setAdapter(mAdapter); updateMergeButton(); updateSelectButton(); }