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();
  }