【问题标题】:Change the int values with buttons使用按钮更改 int 值
【发布时间】:2012-12-22 11:04:06
【问题描述】:

我有 4 个 int 时间

int delay;
int period;
int delay1;
int period1;

他们正在控制这些方法:

cameraOn();
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            cameraOff();
        }
    },delay1,period1);



    Timer timer2 = new Timer();
    timer2.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            cameraOn();
        }
    },delay,period);

        }

这些方法是让闪光灯一直闪烁,我想要的是用我有的两个按钮,改变闪烁的速度,现在它们是这样的:

case R.id.btslow:
        delay = 2400;
        period = 2400;
        delay1 = 1200;
        period1 = 2400;
        break;

    case R.id.btfast:
        delay = 600;
        period = 600;
        delay1 = 300;
        period1 = 600;
        break;

但他们不改变眨眼的速度,我该怎么做?因为如果稍后从一开始就给他们一些勇气,当我按下按钮时,他们不会改变。谢谢!!

【问题讨论】:

  • 点击哪些按钮后什么不会改变?也许这只是我,但我不是通灵者,我无法真正弄清楚你想要做什么。尽管您的问题似乎是您没有停止旧计时器并将新计时器放在那里(只是像您那样分配值本身不会做任何事情)。
  • 我正在尝试使用按钮更改 int 值,闪烁的速度会改变,但如果我将 0 留作开始,则方法不起作用,如果我给它们有一些价值,当我按下某个按钮时它们不会改变

标签: android int


【解决方案1】:
Handler handler = new Handler();
Runnable runnable = new Runnable{

public void run()
{
cameraOff();
handler.postDelayed(this,period);
}
};handler.postDelayed(runnable,delay);

【讨论】:

    【解决方案2】:

    更改变量不会改变当前计划任务的间隔和延迟,试试这个:https://stackoverflow.com/a/3871723/1333516

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 2014-09-14
      • 2018-01-16
      相关资源
      最近更新 更多