-
Notifications
You must be signed in to change notification settings - Fork 8
Usage Tip
John Lee edited this page Jul 31, 2017
·
1 revision
If you use same or similar Dialog often and many different places in the app, which you should, it's easy to use making Const
String for each dialog
and write Dialog builder in Application
file like below :
public class App extends Application {
private static App instance;
public static App getInstance() {
return instance;
}
public SimpleDialog showDialogWithMessage(final Activity thisActivity, int sign, String text, SimpleDialog.BtnCallback clickListener) {
switch (sign) {
case Const.GENERAL_WAIT:
mDialog = new SimpleDialog.Builder(thisActivity)
.setContent(text==null ? "Loading..." : text)
.showProgress(true)
.setBtnCancelText("Cancel")
.onCancel(clickListener)
.setCancelable(false)
.show();
break;
...
case Const.NO_NETWORK:
new SimpleDialog.Builder(thisActivity)
.setContent("Network connection is unstable")
.setBtnConfirmText("Check")
.onConfirm(new SimpleDialog.BtnCallback() {
@Override
public void onClick(@NonNull SimpleDialog dialog, @NonNull SimpleDialog.BtnAction which) {
thisActivity.finish();
}
})
.setCancelable(false)
.show();
break;
}
return mDialog;
}
public class BaseActivity extends AppCompatActivity {
public SimpleDialog showDialogWithMessage(int sign) {
return App.getInstance().showDialogWithMessage(this, sign, null, null);
}
...
public SimpleDialog showDialogWithMessage(int sign, String text, SimpleDialog.BtnCallback cancelClickListener) {
return App.getInstance().showDialogWithMessage(this, sign, text, cancelClickListener);
}
}
public class MainActivity extends BaseActivity {
showDialogWithMessage(Const.GENERAL_WAIT);
}