[英]AlertDialog inside alertdialog android
我正在尝试在 alertdialog 中添加一个 alertdialog。但无法看到第二个 alertdialog ..请帮助我这里显示的是我的代码
AlertDialog alertDialog = new AlertDialog.Builder(myclass.this).create();
alertDialog.setTitle("First alert");
alertDialog.setMessage("first alert press");
alertDialog.setButton("ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
dialog.cancel();
AlertDialog alertDialog1 = new AlertDialog.Builder(myclass.this).create();
alertDialog1.setTitle("second alert dialog");
alertDialog1.setMessage("second alert dialog details");
alertDialog1.setButton("Scan Another", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}}); }
这将是一个迟到的答案,但您可以像这样在 onClickListener 中创建一个 AlertDialog:
public void onClick(DialogInterface dialog, int which) {
if (options[which] == "Manage") {
//Do smtg
} else {
dialog.dismiss();
final AlertDialog alert;
AlertDialog.Builder dialog2 = new AlertDialog.Builder(CategoryPage.this);
alert = dialog2.create();
alert.setTitle("Delete " + title + "?");
alert.setMessage("Are you sure you want to delete this category?");
alert.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(CategoryPage.this, "YESS", Toast.LENGTH_LONG).show();
}
});
alert.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
alert.dismiss();
}
});
alert.show();
}
}
我发现方法可能对某人有帮助,所以这就是我分享的原因:
//2nd Alert Dialog
AlertDialog.Builder alertDialogBuilderSuccess = new AlertDialog.Builder(
context);
alertDialogBuilderSuccess.setTitle("TopUp Success");
// set dialog message
alertDialogBuilderSuccess
.setMessage(
"You voucher is printed, please go to the cashier.")
.setCancelable(false)
.setIcon(R.drawable.ic_launcher2)
.setPositiveButton("Confirm",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog, int id) {
finish();
}
});
// create alert dialog
final AlertDialog alertDialogSuccess = alertDialogBuilderSuccess.create();
//////////////////////////////////
//1st Alert
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
alertDialogBuilder.setTitle("TopUp Request");
// set dialog message
alertDialogBuilder
.setMessage(
"Please confirm: " + vendor_name + ", "
+ tvLoadAmount.getText())
.setCancelable(false)
.setIcon(R.drawable.ic_launcher2)
.setPositiveButton("Confirm",
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog, int id) {
//calling the second alert when it user press the confirm button
alertDialogSuccess.show();
}
})
.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();
AlertDialogs 不应该让另一个 AlertDialog 打开。 如果它确实是您想要的,那么将您的主要 AlertDialog 更改为 Dialog。 通过这种方式,您可以手动添加管理辅助 AlertDialog 所需的按钮和功能
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
import android.content.DialogInterface;
public class MainActivity extends AppCompatActivity {
Button click;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click=(Button)findViewById(R.id.btnId);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
txtSubmit();
}
});
}
protected void txtSubmit(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("This is alert title");
builder.setMessage("This is message for Alert dialog");
builder.setPositiveButton("Yup", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
builder1.setTitle("This is alert title inside");
builder1.setMessage("This is message for Alert dialog inside");
builder1.show();
}
});
builder.show();
}
}
从 onClick 事件侦听器调用的txtSubmit
函数。 同样对于需要打开的第二个警报对话框,我必须通过
AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
在这里,我们必须使用className
绑定 this 事件
当我们点击第一个对话框中的 yup 按钮时,它会显示第一个对话框中的第二个对话框
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.