Android:点击按钮时,在自定义时间后显示toast消息
我想在点击按钮30秒后添加一个祝酒词。你能帮我一下吗。你可以使用Android:点击按钮时,在自定义时间后显示toast消息,android,xml,toast,Android,Xml,Toast,我想在点击按钮30秒后添加一个祝酒词。你能帮我一下吗。你可以使用处理程序和postDelayed()。您可以找到文档 例如: new Handler().postDelayed(new Runnable()){ @凌驾 公开募捐{ //把你的吐司放在这里 } }, 30 * 1000); 您必须注意您的处理程序运行在哪个线程上。如果要进行UI修改(如Toast),必须将处理程序附加到UI线程上。可以使用处理程序的postDelayed()方法……传递线程和特定时间,之后执行线程,如下所示 pr
处理程序和postDelayed()
。您可以找到文档
例如:
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
//把你的吐司放在这里
}
}, 30 * 1000);
您必须注意您的处理程序运行在哪个线程上。如果要进行UI修改(如Toast
),必须将处理程序
附加到UI线程上。可以使用处理程序
的postDelayed()
方法……传递线程
和特定时间,之后执行线程
,如下所示
private Handler mTimerHandler = new Handler();
private Runnable mTimerExecutor = new Runnable() {
@Override
public void run() {
Toast.makeText(Activity.this, "Button Clicked", Toast.LENGTH_LONG).show().
}
};
然后在onClick()
方法中按如下方式调用
public void onClick(View view) {
mTimerHandler.postDelayed(mTimerExecutor, 30000);
}
您可以在单击按钮后启动计时器30秒,然后在onFinish()方法中显示toast消息
公共类测试活动扩展活动{
私人计算机;
专用按钮mBtn;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
mBtn=(按钮)findviewbyd(R.id.btn);
mBtn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
mCounter=新的MyCounter(40000,10000);
mCounter.start();
}
});
}
私有类MyCounter扩展了倒计时{
公共MyCounter(长百万未来,长倒计时间隔){
超级(毫秒未来,倒计时间隔);
//TODO自动生成的构造函数存根
}
@凌驾
公共无效onFinish(){
//TODO自动生成的方法存根
Toast.makeText(getApplicationContext(),“在此处显示文本”,Toast.LENGTH\u SHORT.show();
}
@凌驾
公共void onTick(长毫秒未完成){
//TODO自动生成的方法存根
Log.i(“在刻度上>>>>>”,毫秒直至完成+“>>>>>”;
}
}
}
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
//祝酒词
}
}, 500);
您可以在按钮单击事件上执行此操作
button.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
Handler=newhandler();
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
//TODO自动生成的方法存根
Toast.makeText(Activity.this,“单击按钮”,Toast.LENGTH_LONG.show();
}, 3000);
}
});
类似的内容:
按钮按钮=新按钮(此按钮);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Handler=newhandler();
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
Toast.makeText(上下文,“Hello!”,Toast.LENGTH_LONG.show();
}
}, 30000);
}
});