Android 在安卓系统中,点击按钮一段时间后,更改按钮的文本

Android 在安卓系统中,点击按钮一段时间后,更改按钮的文本,android,button,Android,Button,我想在几秒钟后更改按钮的文本,比如说5秒钟 假设在开始时,活动上有一个按钮,有文本“?”, 当你点击这个按钮时,它应该从一个范围(假设为0-10)中获取ay数, 在按钮上显示一个数字作为文本后,应在5秒后再次更改为“?” 我试过Thread.sleep(),但没用 谢谢使用: btn.setOnClickListener(new View.OnClickListener(){ public void onClick(View view) { btn.setText

我想在几秒钟后更改按钮的文本,比如说5秒钟

假设在开始时,活动上有一个按钮,有文本“?”, 当你点击这个按钮时,它应该从一个范围(假设为0-10)中获取ay数, 在按钮上显示一个数字作为文本后,应在5秒后再次更改为“?”

我试过Thread.sleep(),但没用

谢谢

使用:

btn.setOnClickListener(new View.OnClickListener(){
    public void onClick(View view)
    {
        btn.setText(""+i);
        Handler.postDelayed(new Runnable()
        {
            public void run()
            {
                 btn.setText("?");
            }
        }, 5000);
    }
}

//类级别的声明

计时器=空

Handler handler=new Handler() {
    @Override
    public void handleMessage(Message msg) 
    {
                // update UI here i.e. set The value on Text View

    }
};
//从Activity调用startTheTask方法,它将启动一个计时器,该计时器将在每5秒后工作一次

无效开始任务() {


}

这是一个工作按钮衍生产品

package com.anonymous.sample;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;

public class AutoChangeButton extends Button {
    private static final int DEFAULT_DELAY = 1000;

    private Runnable backToQuestionMark = new Runnable() {
        public void run() {
            setText("?");
        }
    };

    private void initButton() {
        setText("?");

        this.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {
                setText("foo~~");
                postDelayed(backToQuestionMark, DEFAULT_DELAY);
            }
        });
    }

    public AutoChangeButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initButton();
    }

    public AutoChangeButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        initButton();
    }

    public AutoChangeButton(Context context) {
        super(context);
        initButton();
    }
}

您可以在单击按钮时设置计时器,并更改按钮文本,如下代码所示:

button1.setOnClickListener(new View.OnClickListener(){
    public void onClick(View view)
    {
        button.setText(sometext);
        timer.schedule(new TimerTask()
        {
            public void run()
            {
                button.setText(text);
            }
        }, 0, 3000); 
    }
}

谢谢,我已经实现了同样的东西,它工作得很好。如果你的问题解决了,接受答案,这将帮助你在将来快速得到答案。
button1.setOnClickListener(new View.OnClickListener(){
    public void onClick(View view)
    {
        button.setText(sometext);
        timer.schedule(new TimerTask()
        {
            public void run()
            {
                button.setText(text);
            }
        }, 0, 3000); 
    }
}