如何延迟按钮点击android

use*_*306 5 android

public class MainActivity extends Activity implements NetworkMonitorListener {
    double _mylat = 0;
    double _mylong = 0;
    TextView textView1;

    Button clcikbutton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView1 = (TextView) findViewById(R.id.textView1);

        clcikbutton = (Button) findViewById(R.id.button1);

        clcikbutton.setEnabled(false);

        Timer buttonTimer = new Timer();
        buttonTimer.schedule(new TimerTask() {

            @Override
            public void run() {
                runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        clcikbutton.setEnabled(true);
                    }
                });
            }
        }, 5000));

        clcikbutton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
                        "MM/dd/yyyy hh:mm:ss aa");
                simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
                textView1.setText(DateFormat.getDateTimeInstance().format(
                        new java.util.Date("11/7/2014 5:19:11 AM UTC")));

            }
        });

    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的按钮单击延迟的代码。我正在尝试实现该功能,当我单击按钮时,它应禁用5秒钟,然后才能正常工作。请帮我做错的地方,因为会出现错误。

Har*_*ana 5

尝试使用Handler在给定的时间内禁用按钮:

clcikbutton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
       SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss aa");
       simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
       textView1.setText(DateFormat.getDateTimeInstance().format(new java.util.Date("11/7/2014 5:19:11 AM UTC")));
       clcikbutton.setEnabled(false);
       new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                clcikbutton.setEnabled(true);        
            }
        },5000);
    }
});
Run Code Online (Sandbox Code Playgroud)