如何等待静态字符串获取特定值
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();
}
}
});
我是 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();
}
}
});