Android计时器不能正常工作

时间:2015-09-02 15:44:22

标签: android

private int count = 0;
private float totalmoney = 0, constant=(1/3);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.textView);
    buttonStart = (Button) findViewById(R.id.start);
    textView.setText("minutes= " + count + " money= " + totalmoney);
    buttonStart.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Timer T = new Timer();
            T.scheduleAtFixedRate(new TimerTask() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            count++;
                            totalmoney = totalmoney+constant;
                            textView.setText("minutes= " + count + " money= " + totalmoney);
                        }
                    });
                }
            }, 60000, 60000);

        }
    });
}

大家好,我希望有一个计时器,每分钟运行一次,从0开始,每分钟添加(1/3)到totalmoney浮点数,我的代码在上面,它工作得非常好,分钟计数也很好,但totalmoney永久为零。我首先尝试使用totalmoney += (1/3),但它没有用,所以我用常量(1/3)改变了我的代码,为什么它保持为零?

1 个答案:

答案 0 :(得分:1)

float constant = 1/3

这里1/3首先被划分为整数,因此1/3 = 0.然后它被转换为浮点数(变为0.00 ...)。 实际上,您总是向totalmoney添加0。

将常量更新为(float)1/31f/3,代码应该正常运行。