3 回答
TA贡献1830条经验 获得超9个赞
泰德(Ted),您实际上并不想这样做:)最大的原因是,如果在显示Dialog时阻塞UI线程,则会阻塞负责绘制和处理Dialog事件的线程。这意味着您的对话框将无响应。如果用户花费超过几秒钟的时间单击对话框,您还将导致ANR。
Erich的答案正是您所需要的。我知道这不是您想要的,但这没关系。我们设计Android的目的是防止开发人员编写同步对话框,因此您实际上没有太多选择。
TA贡献1806条经验 获得超5个赞
在Android中,结构与.NET不同:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Hello!")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Handle Ok
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Handle Cancel
}
})
.create();
将为您提供带有两个按钮的对话框,并通过回调处理按钮单击。您可能可以编写一些代码来使语法更类似于.NET,但是对话框的生命周期与缠绕在一起Activity,因此,最后,麻烦可能超出其价值。其他对话框参考在这里。
- 3 回答
- 0 关注
- 504 浏览
添加回答
举报