package com.netease.nim.uikit.common.ui.dialog;
import com.netease.nim.uikit.R;
import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
public class EasyAlertDialogHelper {
public static void popClearMessageConfirmDialog(final Activity activity, final OnClearMessageListener listener,
String title) {
OnDialogActionListener actionListener = new OnDialogActionListener() {
@Override
public void doCancelAction() {
}
@Override
public void doOkAction() {
listener.clearAllMessage();
// activity.finish();
}
};
final EasyAlertDialog dialog = createOkCancelDiolag(activity, null, title,
activity.getString(R.string.clear_empty), null, true, actionListener);
dialog.show();
}
public interface OnClearMessageListener {
void clearAllMessage();
}
public static void showOneButtonDiolag(Context mContext, int titleResId, int msgResId, int btnResId,
boolean cancelable, final OnClickListener positiveListener) {
showOneButtonDiolag(mContext, getString(mContext, titleResId), getString(mContext, msgResId),
getString(mContext, btnResId), cancelable, positiveListener);
}
public static void showOneButtonDiolag(Context mContext, CharSequence titleString, CharSequence msgString,
CharSequence btnString, boolean cancelable, final OnClickListener positiveListener) {
final EasyAlertDialog dialog = new EasyAlertDialog(mContext);
if (TextUtils.isEmpty(titleString)) {
dialog.setTitleVisible(false);
} else {
dialog.setTitle(titleString);
}
if (TextUtils.isEmpty(msgString)) {
dialog.setMessageVisible(false);
} else {
dialog.setMessage(msgString);
}
dialog.setCancelable(cancelable);
dialog.addPositiveButton(TextUtils.isEmpty(btnString) ? mContext.getString(R.string.iknow) : btnString,
EasyAlertDialog.NO_TEXT_COLOR, EasyAlertDialog.NO_TEXT_SIZE, new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
if (positiveListener != null)
positiveListener.onClick(v);
}
});
dialog.show();
}
public static EasyAlertDialog createOkCancelDiolag(Context context, CharSequence title, CharSequence message,
boolean cancelable, final OnDialogActionListener listener) {
return createOkCancelDiolag(context, title, message, null, null, cancelable, listener);
}
/**
* 两个按钮的dialog
*
* @param context
* @param title
* @param message
* @param okStr
* @param cancelStr
* @param cancelable
* @param listener
* @return
*/
public static EasyAlertDialog createOkCancelDiolag(Context context, CharSequence title, CharSequence message,
CharSequence okStr, CharSequence cancelStr, boolean cancelable, final OnDialogActionListener listener) {
final EasyAlertDialog dialog = new EasyAlertDialog(context);
OnClickListener okListener = new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
listener.doOkAction();
}
};
OnClickListener cancelListener = new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
listener.doCancelAction();
}
};
if (TextUtils.isEmpty(title)) {
dialog.setTitleVisible(false);
} else {
dialog.setTitle(title);
}
if (TextUtils.isEmpty(message)) {
dialog.setMessageVisible(false);
} else {
dialog.setMessage(message);
}
dialog.addPositiveButton(okStr, okListener);
dialog.addNegativeButton(cancelStr, cancelListener);
dialog.setCancelable(cancelable);
return dialog;
}
public interface OnDialogActionListener {
void doCancelAction();
void doOkAction();
}
private static String getString(Context context, int id) {
if (id == 0) {
return null;
}
return context.getString(id);
}
}