下面列出了android.app.AlertDialog#dismiss ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Update shared preference that stores default user's Email
*
* @param closeActivity after updating, close the account manage activity or not
* @param dialogToDismiss the account manage dialog that is showing
*/
public void updateDefaultUser(final String userEmail, final Boolean closeActivity,
final AlertDialog dialogToDismiss) {
EvercamAccount evercamAccount = new EvercamAccount(this);
evercamAccount.updateDefaultUser(userEmail);
AppData.appUsers = evercamAccount.retrieveUserList();
getMixpanel().identifyUser(AppData.defaultUser.getUsername());
registerUserWithIntercom(AppData.defaultUser);
if (closeActivity) {
if (!AppData.defaultUser.getUsername().equals(oldDefaultUser)) {
setResult(Constants.RESULT_ACCOUNT_CHANGED);
}
ManageAccountsActivity.this.finish();
} else {
showAllAccounts();
}
if (dialogToDismiss != null && dialogToDismiss.isShowing()) {
dialogToDismiss.dismiss();
}
}
private void connectPhone2Bar(final AlertDialog dlg, final Runnable callback){
final BluetoothDevice bar = mProfile.getBarDevice(mMainActivity);
if(bar == null) return;
boolean ok = mProfile.connect(bar, null);
if(ok && callback != null) {
runDelay(new Runnable() {
@Override
public void run() {
callback.run();
runDelay(new Runnable() {
@Override
public void run() {
dlg.dismiss();
}
}, 1000);
}
}, 5000);
}else{
dlg.dismiss();
}
}
private void disconnectPhoneFromBar(final AlertDialog dlg, final Runnable callback){
final BluetoothDevice bar = mProfile.getBarDevice(mMainActivity);
if(bar == null) return;
boolean ok = mProfile.disconnect(bar, null);
mMainActivity.showDefaultEntries(true);
if(ok && callback != null) {
runDelay(new Runnable() {
@Override
public void run() {
callback.run();
runDelay(new Runnable() {
@Override
public void run() {
dlg.dismiss();
}
}, 1000);
}
}, 5000);
}else{
dlg.dismiss();
}
}
private void clearData(final boolean clearFavorites) {
final AlertDialog dialog = new ProgressDialog.Builder(getActivity())
.setTitle(R.string.title_clearing)
.setMessage(R.string.message_clearing)
.setCancelable(false).create();
final String msgClearingFmt = getString(R.string.message_clearing_fmt);
final Consumer<Integer> onNextConsumer = ret -> {
// onNext
if (ret != 0) {
dialog.setMessage(String.format(msgClearingFmt, getString(ret)));
}
};
final Consumer<Throwable> onErrorConsumer = err -> { // Failed
Log.d(TAG, "Failed!" + err.getLocalizedMessage());
dialog.dismiss();
};
final Action onComplete = () -> { // onComplete
Log.d(TAG, "Dismiss");
dialog.dismiss();
};
compositeDisposable.add(settingsViewModel.clearData(clearFavorites)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(onNextConsumer, onErrorConsumer, onComplete));
dialog.show();
}
@Override
public void onDestroy() {
super.onDestroy();
running = false;
for (AlertDialog dialog : dialogs)
if (dialog.isShowing())
dialog.dismiss();
if (db != null)
db.close();
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setMessage(R.string.keep_settings_question)
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
((DialogListener) getActivity()).onNegativeButton(KeepSettingsDialog.this);
}
})
.setPositiveButton(R.string.yes, null)
.setCancelable(false)
.create();
dialog.setCancelable(false);
dialog.setCanceledOnTouchOutside(false);
final Handler handler = new Handler();
final Runnable revertRunnable = new Runnable(){
@Override
public void run() {
if(dialog.isShowing()) {
try {
dialog.dismiss();
} catch (Exception e) {
e.printStackTrace();
}
((DialogListener) getActivity()).onNegativeButton(KeepSettingsDialog.this);
}
}
};
handler.postDelayed(revertRunnable, 1000*13);
return dialog;
}
private void prepareInputDialog(final AlertDialog dialog) {
dialog.setTitle(getName());
dialog.setIcon(getIcon());
final View input = getInputView();
FrameLayout fl = dialog.findViewById(android.R.id.custom);
fl.removeAllViews();
fl.addView(input, new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view == dialog.getButton(DialogInterface.BUTTON_POSITIVE)
&& !validateAndSetInput(input)) {
return;
}
dialog.dismiss();
}
};
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(clickListener);
dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setOnClickListener(clickListener);
final MeasurementView next = getNextView();
if (next != null) {
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (validateAndSetInput(input)) {
next.prepareInputDialog(dialog);
}
}
});
}
else {
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setVisibility(GONE);
}
}
public void testQuickDialog(){
AlertDialog alertDialog = DialogUtils.quickDialog(getActivity(), "Test Message");
assertTrue(alertDialog.isShowing());
final TextView textView = (TextView) alertDialog.findViewById(android.R.id.message);
assertEquals("Test Message", textView.getText().toString());
alertDialog.dismiss();
assertFalse(alertDialog.isShowing());
}
private void dismiss() {
for (AlertDialog dialog : dialogs) {
dialog.dismiss();
}
}