У меня есть некоторый код для использования диалогового окна с предупреждением для добавления материала в базу данных. это работает, но только в первый раз, когда я его использую. Во второй раз, когда я нажимаю кнопку, чтобы открыть диалоговое окно с предупреждением, оно принудительно закрывается.
final AlertDialog.Builder alert1 = new AlertDialog.Builder(EmergencyDb.this);
final AlertDialog.Builder alert2 = new AlertDialog.Builder(EmergencyDb.this);
alert1.setTitle("New Contact");
alert1.setMessage("Name: ");
alert2.setTitle("New Contact");
alert2.setMessage("Phone Number: ");
final EditText input1 = new EditText(EmergencyDb.this);
final EditText input2 = new EditText(EmergencyDb.this);
final int PHONE_TYPE = 3;
input2.setInputType(PHONE_TYPE);
alert1.setView(input1);
alert2.setView(input2);
alert1.setPositiveButton("Next", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
name = input1.getText().toString();
alert2.show();
}
});
alert2.setPositiveButton("Add", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
phoneNum = input2.getText().toString();
SQLiteDatabase db = openHelper.getReadableDatabase();
openHelper.addContact(name, phoneNum, db);
Cursor cursor = null;
try {
cursor = getContactCursor();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(EmergencyDb.this,
R.layout.row, cursor, COLUMNS, VIEWS);
setListAdapter(adapter);
}
catch (Exception ex){
//... error handling
}
}
});
alert1.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert2.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
final Button addButton = (Button) findViewById(R.id.addButton);
addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
alert1.show();
}
});