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