如何在Android&?中的AlertDialog.Builder中放置计时器

时间:2014-02-17 20:55:51

标签: android timer textview android-alertdialog

我创建了一个AlertDialog。我需要以某种方式在那里放一个计时器。 计时器必须显示从90秒到0秒的时间。

有人知道如何在textView(“90秒接受......”)中使用不同的文本进行更改吗? (“接受90秒”...... - >“89秒接受......” - >等等。)

timer should look like that

1 个答案:

答案 0 :(得分:2)

这对你有用吗?

/*
new CountDownUpdate((TextView)findViewById(R.id.accept_text), 90, 
    new CountDownUpdate.Callback(){
        @Override
        public void onCountDownComplete(TextView textView)
        {
            Toast.makeText(getApplicationContext(), "BOOM!", Toast.LENGTH_LONG).show();
        }
    });
*/
private static class CountDownUpdate implements Runnable
{
    private Callback mCallback;
    private int      mFrom;
    private TextView mView;


    public CountDownUpdate(TextView view, int from, Callback callback)
    {
        mCallback = callback;
        mFrom     = from;
        mView     = view;
        mView.post(this);
    }

    @Override
    public void run()
    {
        mView.setText(mFrom + " seconds to acceptance...");
        if(mFrom-- == 0){
            if(mCallback != null){
                mCallback.onCountDownComplete(mView);
            }
        }
        else{
            mView.postDelayed(this, 1000);
        }
    }

    public static interface Callback
    {
        public void onCountDownComplete(TextView textView);
    }
}