android-在同一活动中显示2个警报对话框
作者:互联网
嗨,我尝试设置2个警报对话框,一个接一个,但是它崩溃了,我不知道如何解决,显示了第一个,但是当我单击“确定”时,它停止了(它没有崩溃并显示红色错误但它停止工作)
如果有人可以找出问题出在哪里,它将为我节省代码
AlertDialog dialogo = new AlertDialog.Builder(this)
.setTitle("Introduce un nombre")
.setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
.setView(input)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String nombre = String.valueOf(input.getText());
if(nombre.equalsIgnoreCase(""))
{
Toast.makeText(ctx,"¡Tu nombre no puede estar en blanco!", Toast.LENGTH_LONG).show();
//entra =1;
}
else
{
editor.putString("nombre",nombre);
editor.commit();
//entra = 0;
AlertDialog dialogo3 = new AlertDialog.Builder(ctx)
.setTitle("Introduce un nombre")
.setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
.setView(input)
.setPositiveButton("Hombre", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
editor.putString("genero","Hombre");
editor.commit();
GestorSubirFotos gestor = new GestorSubirFotos(ctx,prefs);
String elnombre = prefs.getString("nombre", "");
gestor.execute(getRealPathFromURI(selectedImage),id,elnombre,phoneid);
}
}).setNegativeButton("Mujer", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
editor.putString("genero","Mujer");
editor.commit();
GestorSubirFotos gestor = new GestorSubirFotos(ctx,prefs);
String elnombre = prefs.getString("nombre", "");
gestor.execute(getRealPathFromURI(selectedImage),id,elnombre,phoneid);
}
}).show();
}
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//entra =1;
}
}).show();
我也尝试过这种方法,但它也不起作用
final Builder dialogo3 = new AlertDialog.Builder(ctx)
.setTitle("Introduce un nombre")
.setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
.setView(input)
.setPositiveButton("Hombre", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
editor.putString("genero","Hombre");
editor.commit();
GestorSubirFotos gestor = new GestorSubirFotos(ctx,prefs);
String elnombre = prefs.getString("nombre", "");
gestor.execute(getRealPathFromURI(selectedImage),id,elnombre,phoneid);
}
}).setNegativeButton("Mujer", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
editor.putString("genero","Mujer");
editor.commit();
GestorSubirFotos gestor = new GestorSubirFotos(ctx,prefs);
String elnombre = prefs.getString("nombre", "");
gestor.execute(getRealPathFromURI(selectedImage),id,elnombre,phoneid);
}
});
Builder dialogo = new AlertDialog.Builder(this)
.setTitle("Introduce un nombre")
.setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
.setView(input)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String nombre = String.valueOf(input.getText());
if(nombre.equalsIgnoreCase(""))
{
Toast.makeText(ctx,"¡Tu nombre no puede estar en blanco!", Toast.LENGTH_LONG).show();
//entra =1;
}
else
{
editor.putString("nombre",nombre);
editor.commit();
//entra = 0;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
dialogo3.show();
}
}, 2000);
}
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//entra =1;
}
});
dialogo.show();
解决方法:
试试这个,现在应该可以工作了->
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do something
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Do you really want to unjoin this event?")
.setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", null)
.show();
标签:android-alertdialog,alertdialog,android 来源: https://codeday.me/bug/20191123/2065796.html