Czy możliwe jest otwarcie okna dialogowego po kliknięciu przycisku neutralnego? [duplikować]
To pytanie ma już tutaj odpowiedź:
Jak zapobiec zamknięciu okna dialogowego po kliknięciu przycisku 18 odpowiedziMam okno dialogowe z trzema tekstami edycji, których używam do uzyskania adresu ftp, nazwy użytkownika i hasła. Użyłem .setNeutralButton do utworzenia przycisku „Testuj połączenie”. Udało mi się połączyć z ftp i pokazać toast z wynikiem, ale nie chcę, aby przycisk testowy zamykał okno dialogowe. Jak mogę utrzymać okno dialogowe otwarte podczas testu połączenia?
livePreviewChk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LinearLayout lila1 = new LinearLayout(NewSite.this);
lila1.setOrientation(1); // 1 is for vertical orientation
final EditText serverName = new EditText(NewSite.this);
serverName.setHint("Server name");
final EditText serverAddress = new EditText(NewSite.this);
serverAddress.setHint("Server Address");
final EditText username = new EditText(NewSite.this);
username.setHint("Username:");
final EditText password = new EditText(NewSite.this);
password.setHint("Password");
AlertDialog.Builder alt_bld = new AlertDialog.Builder(
NewSite.this);
alt_bld.setIcon(R.drawable.ftpicon);
alt_bld.setTitle("Enter the login details for the host FTP")
.setCancelable(true)
.setPositiveButton("Save",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
}
}
})
.setNeutralButton("Test Connection",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
FTPConnector testConnection = new FTPConnector();
boolean status = testConnection
.ftpConnect(host, user, pass,
port);
if (status == true) {
connectionSuccessfull = true;
} else {
connectionSuccessfull = false;
}
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
lila1.addView(serverName);
lila1.addView(serverAddress);
lila1.addView(username);
lila1.addView(password);
AlertDialog alert = alt_bld.create();
alert.setView(lila1);
alert.show();
}
});