0

kankansAndroid用のホイールウィジェットを使用しており、以下のように分を渡しています

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 に答える