2011-08-02 86 views
0

大家好!我需要將Button禁用5秒,並且按鈕的標題必須是「Skip」加上按鈕保持禁用的時間。如何在5秒後啓用按鈕

我已經做了一個擴展線程的CTimer類,並且使用run(Button)定義了run方法。 run方法接收其標題將被修改按鈕,如下:

public void run(Button skip){  
    for (int i=5; i<0; i--) 
    { 
     skip.setText("Skip (" + i + ")"); 
     try { 
      Thread.sleep(1000); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
    } 

    skip.setEnabled(true); 
} 

的問題是,該代碼不起作用,任何thouhts,任何人嗎?

+0

你的意思是'我< 0' or 'i > 0'? –

回答

2

我曾嘗試下面的代碼&正常工作對我來說:

public class Main_TestProject extends Activity 
{ 
    private Button b; 
    private int index = 5; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    b = (Button) findViewById(R.id.my_button);  
    b.setEnabled(false); 
    hHandler.sendEmptyMessage(0); 
    } 

    private Handler hHandler = new Handler() 
    { 
    @Override 
    public void handleMessage(Message msg) 
    { 
     if(index > 0) 
     { 
      try 
      { 
       b.setText("Skip (" + String.valueOf(index) + ")"); 
       index--; 
       Thread.sleep(1000); 
       hHandler.sendEmptyMessage(0); 
      } 
      catch (InterruptedException e) 
      { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
     else 
     { 
      b.setEnabled(true); 
     } 
    } 
    }; 
} 
相關問題