我不想檢查變量是否在我的主類中的xClass中發生了變化。事情是,我的變量僅在單擊ImageView並且正在運行時發生變化在一個線程中,所以我不想檢查一個while循環(我不知道這是否可能)在我的主類中,當變量被改變時做一些事情。所以這就是我所嘗試的,但是當我運行它只是停下來,什麼也不做。Android/Java:觀察主類中的變量
Thread setBack = new Thread() {
public void run() {
knight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Counter++;
//also have some code here.
}
}
};
所以這是我的線程和計數器是值,我想watch.And我使用get方法,返回值。
public boolean getCounter(){
if(Counter>=1){
return true;
}
return false;
}
所以這表示值被改變(Counter是全局變量)。 這就是我在我的主課中所做的。
while (true) {
if (xClass.getCounter()) {
// do something
}
}
這是我的程序實際上停止running.And我想不出任何其他方式獲取指標,價值改變。
任何幫助表示讚賞,謝謝。
除了上面提到的所有內容之外,請確保將變量聲明爲volatile。您的整體方法聽起來有問題 - 一旦條件滿足,後臺線程可能會在ui線程上運行某些內容,這樣可以避免阻塞ui線程。 –