gpt4 book ai didi

Android:将参数传递给警报对话框

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:47 28 4
gpt4 key购买 nike

我正在展示一个带有确定/取消按钮的简单警报对话框。当用户单击“确定”时,一些代码会运行 - 这需要一个参数。

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
MainActivity.this);
alertDialogBuilder
.setTitle("Are you sure?")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//TODO: Do something with parameter.
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();

}
});

// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();

// show it
alertDialog.show();

如何将参数传递给 AlertDialog?

最佳答案

如果您将变量声明为 final,那么您可以在调用 AlertDialog.Builder() 之前在代码中设置它,然后在 onClick() 中访问它,如下所示:

    final int someParameter = someValue;

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
this);
alertDialogBuilder
.setTitle("Are you sure?")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Do something with parameter.
doSomeStuff(someParameter);
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();

}
});

// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();

// show it
alertDialog.show();

这样,someParameter 通过函数隐式传递给 onClick() closure ,因此无需继承 AlertDialog 或向 Activity 添加额外的成员变量。

关于Android:将参数传递给警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com