Dialog提示信息,确认或者取消:确认方法mPresenter.getSaleTicket(billid, type) 取消方法resetSellData()
DialogUtil.showDialog("温馨提示", "获取小票失败,是否重试?", false
, ((dialog, which) -> mPresenter.getSaleTicket(billid, type)), ((dialog, which) -> resetSellData()));
DialogUtil类:
package com.soooft.android.baicaiposlite.utils; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import com.soooft.android.baicaiposlite.R; import com.soooft.android.baicaiposlite.mvp.view.widget.CProgressDialog; /** * @author Fanxl * Create by 2017/02/24 */ public class DialogUtil { private static CProgressDialog loadingDialog; public static void showLoading(boolean cancelable, String message) { if (loadingDialog == null) { loadingDialog = new CProgressDialog(Util.getTopActivity(), cancelable); } loadingDialog.setCancelable(cancelable); loadingDialog.show(); loadingDialog.setProgressText(message); } public static void dismissLoading() { if (null != loadingDialog) { if (loadingDialog.isShowing()) { loadingDialog.dismiss(); } } } /** * @param title title * @param content content * @return dialog */ public static AlertDialog showDialog(String title, String content) { return showDialog("提示", content, null); } /** * @param title title * @param content content * @param positiveListener positive * @return dialog */ public static AlertDialog showDialog(String title, String content, DialogInterface.OnClickListener positiveListener) { return showDialog(title, content, true, positiveListener, null); } /** * @param title title * @param content content * @param positiveListener positive * @param negativeListener negative * @return dialog */ public static AlertDialog showDialog(String title, String content, DialogInterface.OnClickListener positiveListener, DialogInterface.OnClickListener negativeListener) { return showDialog(title, content, false, positiveListener, negativeListener); } /** * @param title title * @param content content * @param cancelable cancelable * @param positiveListener positive * @param negativeListener negative * @return dialog */ public static AlertDialog showDialog(String title, String content, boolean cancelable, DialogInterface.OnClickListener positiveListener, DialogInterface.OnClickListener negativeListener) { AlertDialog.Builder builder = new AlertDialog.Builder(Util.getTopActivity()); builder.setTitle(title) .setMessage(content) .setIcon(R.mipmap.ic_launcher) .setPositiveButton("确定", positiveListener) .setCancelable(cancelable); if (negativeListener == null) { builder.setNegativeButton("取消", (dialog, which) -> { }); } else { builder.setNegativeButton("取消", negativeListener); } builder.show(); return builder.create(); } }
自定义进度条:
/**
* 自定义进度条类
*
* @author guilin
* @date 16/5/13
*/
public class CProgressDialog extends Dialog {
TextView tvProgressText;
public CProgressDialog(Context context) {
this(context, true);
}
public CProgressDialog(Context context, boolean cancelable) {
super(context, R.style.DefaultProgressDialog);
this.setCancelable(cancelable);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_progress);
tvProgressText = (TextView) findViewById(R.id.tv_progress_text);
}
public void setProgressText(String text) {
tvProgressText.setText(text);
}
}
封装:
protected CProgressDialog loadingDialog;
protected void showLoadingDialog() { showLoadingDialog(true, "加载中..."); } /** * 显示进度Dialog */ protected void showLoadingDialog(boolean cancelable, String progressText) { if (loadingDialog == null) { loadingDialog = new CProgressDialog(this, cancelable); } loadingDialog.setCancelable(cancelable); loadingDialog.show(); loadingDialog.setProgressText(progressText); } protected void showLoadingDialog(String progressText) { showLoadingDialog(true, progressText); } /** * 取消进度Dialog */ protected void dismissLoadingDialog() { if (loadingDialog != null && loadingDialog.isShowing()) { loadingDialog.dismiss(); } }
调用:
protected void showLoadingDialog() { if (mActivity == null) { ((BaseActivity) getActivity()).showLoadingDialog(); } else { ((BaseActivity) mActivity).showLoadingDialog(); } }