0

我正在为 android使用kankanswheel 小部件,并通过如下所示的分钟数

final WheelView mins = (WheelView) view.findViewById(R.id.minutes);
            mins.setViewAdapter(new mywheel(activity, 0, 59,"%02d"));

现在我想用 00 和 05 显示我的分钟值并继续 06 07 .. 我想跳过 02,03,04。

public class mywheel extends AdapterWheel {

    private int minValue;
    private int maxValue;
     private String format;

      public mywheel(Context context, int minValue, int maxValue, String format) {
            super(context, null);

            this.maxValue = maxValue;
            this.format = format;
        }

    @Override
    public CharSequence getItemText(int index) {
        if (index >= 0 && index < getItemsCount()) {
            int value = 5 * index;
            return format != null ? String.format(format,value) : Integer.toString(value);
        }
        return null;
    }

    @Override
    public int getItemsCount() {
         return 59 / 5;
    }

}

上面的代码给了我 5 的倍数的分钟值,但我只想跳过 2,3,4 。我怎样才能做到这一点。

4

1 回答 1

1

试试这样:

public class mywheel extends AdapterWheel {

private int minValue;
private int maxValue;
 private String format;

  public mywheel(Context context, int minValue, int maxValue, String format) {
        super(context, null);

        this.maxValue = maxValue;
        this.format = format;
    }

@Override
public CharSequence getItemText(int index) {
    if (index > 0 && index < getItemsCount()) {
        int value = 4 + index;
        return format != null ? String.format(format,value) : Integer.toString(value);
    } else if(index == 0) {
        int value = 0;
        return format != null ? String.format(format,value) : Integer.toString(value);
    }
    return null;
}

@Override
public int getItemsCount() {
     return 56;
}

}
于 2013-02-25T08:11:55.757 回答