Skip to content

Usage Tip

John Lee edited this page Jul 31, 2017 · 1 revision

# Tip

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 :

In App.java
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;
	}
In BaseActivity.java or BaseFragment.java
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);
        }
}
In MainActivity.java
public class MainActivity extends BaseActivity {
    showDialogWithMessage(Const.GENERAL_WAIT);
}
Clone this wiki locally