public void dragSelectCard(CardView clickCardView , int distance) {
		int startindex = cardViews.indexOf(clickCardView);
		int endIndex = 0;
		if (distance < 0) {
			distance -= cardGap / 2;
		}
		
		int count = distance/cardGap;
		boolean isModeZero = (distance % cardGap == 0);
		if(count > 0) {
			endIndex = startindex + count;
		} else if(count < 0){
			endIndex = startindex ;
			startindex = startindex + count;
		} else {
			if (!isModeZero) {
				if (Math.abs(distance % cardGap) < cardGap / 2) {
					startindex = -1;
				}
			}
			endIndex = startindex;
		}
		
		CardView cardView;
		boolean isSelect;
		for(int i = 0 ; i < cardViews.size() ; i ++ ) {
			cardView = cardViews.get(i);
			isSelect = cardViewsSelectState.get(i);
			if(i >= startindex && i <= endIndex)
				isSelect = !isSelect;
			selectCard(cardView , isSelect);
		}
	}