要避免“尝试调用空对象引用的虚拟方法”错误,并将数据传递到AlertDialog中,你可以按照以下步骤进行操作:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
alertDialogBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 点击确定按钮的操作
}
});
alertDialogBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 点击取消按钮的操作
}
});
if (data != null) {
// 创建AlertDialog对象并将数据传递到其中
alertDialogBuilder.setTitle(data.getTitle());
alertDialogBuilder.setMessage(data.getMessage());
// 设置其他属性
} else {
// 数据为空的处理逻辑
}
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
完整的示例代码如下所示:
if (data != null) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
alertDialogBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 点击确定按钮的操作
}
});
alertDialogBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 点击取消按钮的操作
}
});
alertDialogBuilder.setTitle(data.getTitle());
alertDialogBuilder.setMessage(data.getMessage());
// 设置其他属性
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
} else {
// 数据为空的处理逻辑
}
请注意,这只是一种解决方法,你可以根据你的具体需求进行调整和修改。确保在调用任何可能引发空对象引用错误的方法之前,检查数据是否为空。