@Override
        public void onClick(View v) {
          if (position != 0 && filterInfos.get(position).getFilterType() != -1) {
            int Type = filterInfos.get(position).getFilterType(); // 获取类型
            if (filterInfos.get(position).isFavourite()) {
              // 取消Favourite------------------------------------
              btn_Favourite.setSelected(false);
              filterInfos.get(position).setFavourite(false);
              mAdapter.notifyItemChanged(position);
              int i = 0;
              for (i = 0; i < favouriteFilterInfos.size(); i++) {
                if (Type == favouriteFilterInfos.get(i).getFilterType()) { // 取消对应Favourite列表中元素
                  favouriteFilterInfos.remove(i);
                  filterInfos.remove(i + 1); // 从filterInfos去除
                  mAdapter.notifyItemRemoved(i + 1);
                  mAdapter.setLastSelected(mAdapter.getLastSelected() - 1);
                  break;
                }
              }
              position--;
              mAdapter.notifyItemRangeChanged(i + 1, filterInfos.size() - i - 1);
            } else { // 增加favourite
              btn_Favourite.setSelected(true); // 更改状态
              filterInfos.get(position).setFavourite(true);
              mAdapter.notifyItemChanged(position);

              FilterInfo filterInfo = new FilterInfo();
              filterInfo.setFilterType(Type);
              filterInfo.setSelected(true);
              filterInfo.setFavourite(true);
              filterInfos.add(favouriteFilterInfos.size() + 1, filterInfo);
              position++;
              mAdapter.notifyItemInserted(favouriteFilterInfos.size() + 1);
              mAdapter.notifyItemRangeChanged(
                  favouriteFilterInfos.size() + 1,
                  filterInfos.size() - favouriteFilterInfos.size() - 1);
              favouriteFilterInfos.add(filterInfo);
              mAdapter.setLastSelected(mAdapter.getLastSelected() + 1);
            }
            saveFavourite();
          }
        }