如何在5秒后启用按钮

时间:2011-08-02 15:01:39

标签: android-layout

大家好!我需要禁用按钮5秒钟,按钮的标题必须是“跳过”加上按钮保持禁用的时间。

我创建了一个扩展Thread的类CTimer,并使用run(Button)定义了run方法。 run方法接收将修改Caption的Button,如下所示:

    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);
}

问题是代码不起作用,任何人,任何人?

1 个答案:

答案 0 :(得分:2)

我尝试过以下代码&amp;它适用于我:

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);
        }
    }
  };
}