如何等待静态字符串获取特定值

How to wait for a static string to get a particular value

我是 android 工作室的新手,我的问题听起来很简单,但我确实需要一个解决方案。 在执行特定代码块之前,我需要检查我的静态字符串的值是否等于 1。它每 500 毫秒更新一次。它从 1 到 16,然后回到 1。 我试过倒数计时器,但没有用。请帮忙。 Edit:This 是我正在尝试的。

store=findViewById(R.id.store);
    store.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            for (int i = 1; i <= 16; i++){
                String m=s;
                if (m.equals("1")) {
                    store();
                    break;
                } else {
                    new Timer().schedule(new TimerTask() {
                        @Override
                        public void run() {
                            // this code will be executed after 2 seconds
                        }
                    }, 500);
                }
        }
        }
    });

所以基本上你想做的是,你想观察值对吗?

您可以做的是,每次更改值时调用回调,或者已经显式调用您的代码块。

// this gets called  every 500 ms
public static void updateMyValue(String value){
  MY_STATIC_STRING = value;
  callMyBlockOfCode();
}

这个对我有用。谢谢大家的宝贵时间。

store=findViewById(R.id.store);
    store.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                String m=s;
                if (m.equals("1")) {
                    store();
                } else {
                    int i=Integer.parseInt(m);
                    i=(17-i)*delay;
                    new CountDownTimer(i, 1) {
                        public void onFinish() {
                            store();
                        }
                        public void onTick(long millisUntilFinished) {
                        }
                    }.start();
                }
        }
    });