如何在对话框消息关闭之前暂停其他指令

时间:2011-08-29 19:29:50

标签: android alertdialog toast

您好我有关于AlertDialog / Toast的问题。 当用户点击按钮时,只显示“你是对的”消息应显示1秒钟。当我使用toast / alertdialog实现它时,它执行此操作但在dailog关闭之前启动onclick方法中的下一条指令。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

以下是我使用Handler对象---

的方法

公共类ToastActivity扩展了Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    Handler mHandler = new Handler();
    for(int i=10;i>=1;i--)
    {
        Toast.makeText(this, ""+i, Toast.LENGTH_SHORT).show();
    }
    mHandler.postDelayed(new Runnable(){public void run(){
    LinearLayout t=(LinearLayout)findViewById(R.id.l);   //This task is delayed by 21 sec.
            t.setBackgroundColor(Color.CYAN);
        }
    }, 21000);           
}

}

烤面包后的声明在吐司消失后执行。

答案 1 :(得分:1)

如果您正在使用祝酒词,请在使用Handler显示祝酒词的时间推迟任务。

使用对话框时,为“Okey”按钮实现onClickListener

答案 2 :(得分:0)

我必须做的是将AlertDialog之后的任何代码放在相应的侦听器中。例如,如果在警告对话框之后有一堆代码,您只想基于某些响应执行,请将该代码移动到另一个方法中。然后,在positiveButton侦听器(或负按钮侦听器)中,将调用添加到刚刚创建的相应方法中。或者你可以把它全部塞进监听器中,但这会使代码不易管理。