Android轮上更改值事件

时间:2014-10-13 06:50:37

标签: android events

是否有任何方法可用作更改值事件的轮子?我的意思是this wheel

1 个答案:

答案 0 :(得分:0)

  // Wheel scrolled flag
private boolean wheelScrolled = false;

// Wheel scrolled listener
OnWheelScrollListener scrolledListener = new OnWheelScrollListener() {
    public void onScrollingStarted(WheelView wheel) {
        wheelScrolled = true;
    }
    public void onScrollingFinished(WheelView wheel) {
        wheelScrolled = false;
        updateStatus();
    }
};

// Wheel changed listener
private OnWheelChangedListener changedListener = new OnWheelChangedListener() {
    public void onChanged(WheelView wheel, int oldValue, int newValue) {
        if (!wheelScrolled) {
            updateStatus();
        }
    }
};

/**
 * Updates status
 */
private void updateStatus() {
    TextView text = (TextView) findViewById(R.id.pwd_status);
    if (test()) {
        text.setText("Congratulation!");
    } else {
        text.setText("");
    }
}

/**
 * Initializes wheel
 * @param id the wheel widget Id
 */
private void initWheel(int id) {
    WheelView wheel = getWheel(id);
    wheel.setViewAdapter(new SlotMachineAdapter(this));
    wheel.setCurrentItem((int)(Math.random() * 10));

    wheel.addChangingListener(changedListener);
    wheel.addScrollingListener(scrolledListener);
    wheel.setCyclic(true);
    wheel.setEnabled(false);
}

示例来自:https://code.google.com/p/android-wheel/source/browse/trunk/wheel-demo/src/kankan/wheel/demo/SlotMachineActivity.java