Android按钮禁用,直到看到Toast

时间:2013-08-12 10:17:22

标签: android toast

我有一个显示进度对话框的按钮,在进度结束对话框中显示一个toast。 我希望在UI上看到进度对话框和Toast时,按钮被禁用。即在吐司消失后我希望我的按钮再次启用

任何人都可以建议做什么

2 个答案:

答案 0 :(得分:1)

只要您显示吐司,请将按钮设置为false,然后启动此计时器任务。类Timer的方法,即schedule(),是在提供的时间之后执行的。在这种情况下,我将时间作为Toa​​st.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。