package com.android;
为什么点击StopBu不能里那个updateBarhandler.removeCallbacks(updateThread);停止ProgressBar不起作用,而if语句里却能起作用,一直很纠结,谁能帮我看看
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class HandlerBarActivity extends Activity {

private ProgressBar myProgressBar = null;
private Button startBu = null;
private Button stopBu = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        myProgressBar = (ProgressBar)findViewById(R.id.myProgressBar);
       
        startBu = (Button)findViewById(R.id.startBu);
        stopBu = (Button)findViewById(R.id.stopBu);
        
        stopBu.setOnClickListener(new OnClickListener() {//

@Override
public void onClick(View v) {

System.out.println("stop");
updateBarhandler.removeCallbacks(updateThread);/////////这个函数不其作用
}
});
        
        
        startBu.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

System.out.println("start");
 myProgressBar.setVisibility(View.VISIBLE);
 updateBarhandler.post(updateThread);


}
});
    }
    
    Handler updateBarhandler = new Handler(){ @Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
myProgressBar.setProgress(msg.arg1);
updateBarhandler.post(updateThread);

}
    
    };
  
   
    Runnable updateThread = new Runnable() {

      int i = 0;
@Override
public void run() {

i = i + 10;
Message msg = updateBarhandler.obtainMessage();
msg.arg1 = i;

try {

Thread.sleep(1000);
System.out.println("run");
} catch (Exception e) { e.printStackTrace();
}

updateBarhandler.sendMessage(msg);
if(i == 20){
System.out.println("stopThread");
updateBarhandler.removeCallbacks(updateThread);//这个函数却能起作用
}

}
};
}