您好我有关于AlertDialog / Toast的问题。 当用户点击按钮时,只显示“你是对的”消息应显示1秒钟。当我使用toast / alertdialog实现它时,它执行此操作但在dailog关闭之前启动onclick方法中的下一条指令。我该如何解决这个问题?
答案 0 :(得分:2)
公共类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侦听器(或负按钮侦听器)中,将调用添加到刚刚创建的相应方法中。或者你可以把它全部塞进监听器中,但这会使代码不易管理。