public List<Integer> getSelectedBlueNumbers() {
    List<Integer> blueNumbers = new ArrayList<Integer>();

    // 遍历选号行集合,获取被选择篮球号码集合
    SelectRow selectRow = (SelectRow) viewRows.get(viewRowNum - 1);
    for (int colum_i = Row.redColumNum + 1; colum_i < Row.columNum; colum_i++) {
      NumberCell numberCell = (NumberCell) selectRow.getRowCells().get(colum_i);

      if (numberCell.isTouched) {
        int number = numberCell.getNumber();
        blueNumbers.add(number);
      }
    }

    return blueNumbers;
  }
  private void updateSelectNumberShow() {
    StringBuffer selectedNumber = new StringBuffer("已选:");

    SelectRow selectRow = (SelectRow) viewRows.get(viewRowNum - 1);

    // 最后一个红球号码的位置标识
    int redEndIndex = 0;
    boolean isFirstBlueBall = true;

    for (int colum_i = 1; colum_i < Row.columNum; colum_i++) {
      NumberCell numberCell = (NumberCell) selectRow.getRowCells().get(colum_i);

      if (numberCell.isTouched) {
        // 如果是第一个篮球,获标志位,给后面字体标颜色使用
        if (colum_i >= Row.redColumNum && isFirstBlueBall) {
          redEndIndex = selectedNumber.length();
          isFirstBlueBall = false;
        }

        int number = numberCell.getNumber();
        selectedNumber.append(formatNumberToTwoPlace(number) + ",");
      }
    }

    selectedNumber.deleteCharAt(selectedNumber.length() - 1);

    SpannableStringBuilder styleBuilder = new SpannableStringBuilder(selectedNumber);
    // 如果有红球,则设置控球选号为红色
    if (selectedNumber.length() > 3) {
      styleBuilder.setSpan(
          new ForegroundColorSpan(Color.RED),
          3,
          selectedNumber.length(),
          Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    }

    // 如果有篮球,在设置篮球为蓝色
    if (redEndIndex != 0) {
      styleBuilder.setSpan(
          new ForegroundColorSpan(Color.BLUE),
          redEndIndex,
          selectedNumber.length(),
          Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    }

    selectedNumbersTextView.setText(styleBuilder);
  }
  private void onDrawViewBackground(Canvas canvas) {

    // 遍历行集合,绘制行背景
    for (int row_i = 0; row_i < viewRowNum; row_i++) {
      Row chileRow = viewRows.get(row_i);

      if (chileRow instanceof NumberRow) {
        ((NumberRow) chileRow).onDrawBackground(canvas);
      } else if (chileRow instanceof SelectRow) {
        ((SelectRow) chileRow).onDrawBackground(canvas);
      }
    }
  }