我有一个显示进度对话框的按钮,在进度结束对话框中显示一个toast。 我希望在UI上看到进度对话框和Toast时,按钮被禁用。即在吐司消失后我希望我的按钮再次启用
任何人都可以建议做什么
答案 0 :(得分:1)
只要您显示吐司,请将按钮设置为false,然后启动此计时器任务。类Timer的方法,即schedule(),是在提供的时间之后执行的。在这种情况下,我将时间作为Toast.LENGTH _SHORT
传递 final Handler handler = new Handler();
Timer time = new Timer();
time.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
your_button.setClickable(true);
}
});
}
},Toast.LENGTH_SHORT); //// If your toast is for length short.
答案 1 :(得分:0)
在进度对话框开始之前输入以下代码
Button myBtn=findViewById(R.id.button1);
myBtn.setVisibility(View.INVISIBLE);
//myBtn.setEnabled(false);
调用Toast.makeText()之后,输入以下代码:
myBtn.setVisibility(View.VISIBLE);
//myBtn.setEnabled(true);
请注意,setVisibility会使按钮可见/不可见,setEnabled(false)会将您的按钮变为不可克隆的mde。