@Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Resources res = getResources(); Activity activity = getActivity(); final MaterialDialog.Builder builder = new MaterialDialog.Builder(activity); int type = getArguments().getInt("type"); if (type == CARD_BROWSER_MY_SEARCHES_TYPE_LIST) { mSavedFilters = (HashMap<String, String>) getArguments().getSerializable("savedFilters"); mSearchesAdapter = new MySearchesArrayAdapter(activity, new ArrayList<>(mSavedFilters.keySet())); mSearchesAdapter.notifyDataSetChanged(); // so the values are sorted. builder .title(res.getString(R.string.card_browser_list_my_searches_title)) .adapter( mSearchesAdapter, new MaterialDialog.ListCallback() { @Override public void onSelection( MaterialDialog dialog, View itemView, int which, CharSequence text) { mMySearchesDialogListener.OnSelection(mSearchesAdapter.getItem(which)); dialog.dismiss(); } }); } else if (type == CARD_BROWSER_MY_SEARCHES_TYPE_SAVE) { mCurrentSearchTerms = getArguments().getString("currentSearchTerms"); builder .title(getString(R.string.card_browser_list_my_searches_save)) .positiveText(getString(android.R.string.ok)) .negativeText(getString(R.string.cancel)) .input( R.string.card_browser_list_my_searches_new_name, R.string.empty_string, new MaterialDialog.InputCallback() { @Override public void onInput(MaterialDialog dialog, CharSequence text) { mMySearchesDialogListener.OnSaveSearch(text.toString(), mCurrentSearchTerms); } }); } MaterialDialog dialog = builder.build(); if (dialog.getListView() != null) { dialog .getListView() .setDivider( new ColorDrawable(ContextCompat.getColor(activity, R.color.material_grey_600))); dialog.getListView().setDividerHeight(1); // adjust padding to use dp as seen here: http://stackoverflow.com/a/9685690/1332026 float scale = res.getDisplayMetrics().density; int dpAsPixels = (int) (5 * scale + 0.5f); dialog.getView().setPadding(dpAsPixels, 0, dpAsPixels, dpAsPixels); } return dialog; }