工具

package com.hzy.modulebase.utils;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.content.Context;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;

import com.hzy.modulebase.R;
import com.hzy.modulebase.common.SunjConstants;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
*  * @author SunJian
*  * @description: 
*  * @date :2020/4/10 13:19
*  
*/
@SuppressLint("SimpleDateFormat")
public class BaseCompareUtil {
/**
* 弹窗
*/
private static AlertDialog alertDialog1;
/**
* 多选弹窗
*/
// private static AlertDialog alertDialogMore;
private static String[] mItems;
private static AlertDialog mAlertDialog;

/**
* 日历点击时间无限制
* TextView
*/
public static void showDatePickers(final Calendar calendar, Activity activity, final TextView changeView) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
changeView.setText(format.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
// DatePicker datePicker = dialog.getDatePicker();
// datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

/**
* 日历点击时间无限制
* EditText
*/
public static void showDatePickersEdit(final Calendar calendar, Activity activity, final EditText changeView) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
changeView.setText(format.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
// DatePicker datePicker = dialog.getDatePicker();
// datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

/**
* 时间选择有限制不能 选择今天前的时间
*
* @param calendar calendar
* @param activity active
* @param changeView 显示控件
*/
public static void showDatePickersLog(final Calendar calendar, Activity activity, final TextView changeView,
final callBacks callBack) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日");
changeView.setText(format.format(calendar.getTime()));
callBack.callbacks(format1.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
DatePicker datePicker = dialog.getDatePicker();
datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

public static void showDilogPickers(String tittle, Activity activity, final String[] items,
final callBacks callBack) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle(tittle);
alertBuilder.setItems(items, (dialogInterface, i) -> {
callBack.callbacks(items[i]);
alertDialog1.dismiss();
});
alertDialog1 = alertBuilder.create();
alertDialog1.show();
}

/**
* 返回两个参数
*
* @param tittle 标题
* @param activity 页面
* @param items 显示条目
* @param callBack 回调
*/
public static void showDilogPickersCode(String tittle, Activity activity, final String[] items,
final callBack callBack) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle(tittle);
alertBuilder.setItems(items, (dialogInterface, i) -> {
callBack.callback(items[i], String.valueOf(i));
alertDialog1.dismiss();
});
alertDialog1 = alertBuilder.create();
alertDialog1.show();
}

public static String initDate() {
Calendar mCalendar = Calendar.getInstance();
int year = mCalendar.get(Calendar.YEAR);
int month = mCalendar.get(Calendar.MONTH);
String monthStr;
if (month + 1 <= 9) {
monthStr = "0" + (month + 1);
} else {
monthStr = String.valueOf(month + 1);
}
int dayOfMonth = mCalendar.get(Calendar.DAY_OF_MONTH);
String dayOfMonthStr;
if (dayOfMonth <= 9) {
dayOfMonthStr = "0" + dayOfMonth;
} else {
dayOfMonthStr = String.valueOf(dayOfMonth);
}
//创建时间
return year + "-" + monthStr + "-" + dayOfMonthStr;

}

public static String fengxiang(String type) {
switch (type) {
case "无风":
return "1";
case "北风":
return "8";
case "西南风":
return "5";
case "西风":
return "6";
case "东风":
return "2";
case "西北风":
return "7";
case "东南风":
return "3";
case "南风":
return "4";
case "东北风":
return "9";
default:
return "";
}
}

public static String status(String status) {
if (status.equals("正常")) {
return "1";
} else if (status.equals("已作废")) {
return "2";
} else {
return "";
}
}

public static String type(String status) {
switch (status) {
case "未付款":
return "0";
case "已付款":
return "1";
case "已取消":
return "3";
default:
return "";
}
}

public static String moneyType(String status) {
if (status.equals("收款")) {
return "1";
} else if (status.equals("付款")) {
return "2";
} else {
return "";
}
}

public static String list(String status) {
if (status.equals("清单付款")) {
return "2";
} else if (status.equals("合同付款")) {
return "1";
} else {
return "";
}
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateTime(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateH(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateTimeNew(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 多选弹窗
*/
private static AlertDialog alertDialogMore;

public static void showMutilAlertDialog(Activity activity, List<ChooseMoreBean> list, callBackList backList) {
if (ListUtil.isEmpty(list)) {
return;
}
List<String> nameList = new ArrayList<>();
List<String> idList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
nameList.add(list.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[nameList.size()]);
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle("审批流");
/**
*第一个参数:弹出框的消息集合,一般为字符串集合
* 第二个参数:默认被选中的,布尔类数组
* 第三个参数:勾选事件监听
*/
alertBuilder.setMultiChoiceItems(mItems, null, (dialogInterface, i, isChecked) -> {
if (isChecked) {
list.get(i).setClick(true);
} else {
list.get(i).setClick(false);
}
});
alertBuilder.setPositiveButton("确定", (dialogInterface, i) -> {
for (int j = 0; j < list.size(); j++) {
if (list.get(j).isClick()) {
idList.add(list.get(j).getId());
}
}
backList.callback(idList);
alertDialogMore.dismiss();
});

alertBuilder.setNegativeButton("取消", (dialogInterface, i) -> alertDialogMore.dismiss());
alertDialogMore = alertBuilder.create();
alertDialogMore.show();
}

/**
* 返回
*/
public interface callBackList {
//返回参数
void callback(List<String> stringList);
}

public interface callBackId {
//返回参数
void callback(String id);
}



/**
* 审批流点击弹窗
*/
public static void showList(Activity activity, List<AudioListBean> response, callBackId callBackId) {
if (!ListUtil.isEmpty(response)) {
List<String> nameList = new ArrayList<>();
for (int i = 0; i < response.size(); i++) {
nameList.add(response.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[0]);
} else {
mItems = new String[]{"暂无"};
}
String tittle;
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
tittle = "请选择审批流程";
alertBuilder.setTitle(tittle);
alertBuilder.setItems(mItems, (dialogInterface, i) -> {
//设置返回参数
if (!"暂无".equals(mItems[i])) {
//客户类型数据字典
callBackId.callback(response.get(i).getDeploymentId());
}
mAlertDialog.dismiss();
});
mAlertDialog = alertBuilder.create();
mAlertDialog.show();
//获取屏幕大小
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
assert wm != null;
wm.getDefaultDisplay().getMetrics(dm);
// 屏幕宽度(像素)
int width = dm.widthPixels;
// 屏幕高度(像素)
int height = dm.heightPixels;
WindowManager.LayoutParams params = Objects.requireNonNull(mAlertDialog.getWindow()).getAttributes();
params.width = (int) (0.65 * width);
//判断返回条数,设计弹窗显示大小
if (!ListUtil.isEmpty(response)) {
if (response.size() < 10) {
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
} else {
params.height = (int) (0.6 * height);
}
}
mAlertDialog.getWindow().setAttributes(params);
}

/**
* 审批流点击弹窗
* 不可取消的窗口
*/
public static void showApproveListAndNoCancel(Activity activity, List<AudioListBean> response, callBackId callBackId) {
if (!ListUtil.isEmpty(response)) {
List<String> nameList = new ArrayList<>();
for (int i = 0; i < response.size(); i++) {
nameList.add(response.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[0]);
} else {
mItems = new String[]{"暂无"};
}
String tittle;
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
tittle = "请选择审批流程";
alertBuilder.setTitle(tittle);
alertBuilder.setItems(mItems, (dialogInterface, i) -> {
//设置返回参数
if (!"暂无".equals(mItems[i])) {
//客户类型数据字典
callBackId.callback(response.get(i).getDeploymentId());
}
mAlertDialog.dismiss();
});
mAlertDialog = alertBuilder.create();
mAlertDialog.setCancelable(false);
mAlertDialog.setCanceledOnTouchOutside(false);
mAlertDialog.show();
//获取屏幕大小
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
assert wm != null;
wm.getDefaultDisplay().getMetrics(dm);
// 屏幕宽度(像素)
int width = dm.widthPixels;
// 屏幕高度(像素)
int height = dm.heightPixels;
WindowManager.LayoutParams params = Objects.requireNonNull(mAlertDialog.getWindow()).getAttributes();
params.width = (int) (0.65 * width);
//判断返回条数,设计弹窗显示大小
if (!ListUtil.isEmpty(response)) {
if (response.size() < 10) {
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
} else {
params.height = (int) (0.6 * height);
}
}
mAlertDialog.getWindow().setAttributes(params);
}

// public static void showMutilAlertDialog(Activity activity, List<ChooseMoreBean> list, callBackList backList) {
// if (ListUtil.isEmpty(list)) {
// return;
// }
// List<String> nameList = new ArrayList<>();
// List<String> idList = new ArrayList<>();
// for (int i = 0; i < list.size(); i++) {
// nameList.add(list.get(i).getName());
// }
// //名字
// mItems = nameList.toArray(new String[nameList.size()]);
// AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
// alertBuilder.setTitle("审批流");
// /**
// *第一个参数:弹出框的消息集合,一般为字符串集合
// * 第二个参数:默认被选中的,布尔类数组
// * 第三个参数:勾选事件监听
// */
// alertBuilder.setMultiChoiceItems(mItems, null, (dialogInterface, i, isChecked) -> {
// if (isChecked) {
// list.get(i).setClick(true);
// } else {
// list.get(i).setClick(false);
// }
// });
// alertBuilder.setPositiveButton("确定", (dialogInterface, i) -> {
// for (int j = 0; j < list.size(); j++) {
// if (list.get(j).isClick()) {
// idList.add(list.get(j).getId());
// }
// }
// backList.callback(idList);
// alertDialogMore.dismiss();
// });
//
// alertBuilder.setNegativeButton("取消", (dialogInterface, i) -> alertDialogMore.dismiss());
// alertDialogMore = alertBuilder.create();
// alertDialogMore.show();
// }

/**
* 返回
*/
public interface callBacks {
//返回参数
void callbacks(String projectStr);
}

/**
* 返回
*/
public interface callBack {
//返回参数
void callback(String projectStr, String code);
}



/**
* 送审样式
*/
/**
* @param auditStatusName 审批状态
* @param tvStatus 审批状态按钮
* @param tvSongShen 送审
* @param tvCheHui 撤回按钮
* @param tvShanChu 删除按钮
* @param isGone 是否显示按钮当为空的时候显示否则隐藏
*/
public static void approval(String auditStatusName, TextView tvStatus, TextView tvSongShen, TextView tvCheHui, TextView tvShanChu, String isGone) {
/*按钮颜色*/
if (SunjConstants.intentNumUrl.AUDIO_BOHUI.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_btn_recall_new);
} else if (SunjConstants.intentNumUrl.AUDIO_HAVING.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_pass);
} else if (SunjConstants.intentNumUrl.AUDIO_CHEXIAO.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_recall);
} else if (SunjConstants.intentNumUrl.AUDIO_DAISONGSHEN.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_watting);
} else if (SunjConstants.intentNumUrl.AUDIO_LODING.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_ing);
} else {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_ing);
}
/*按钮显示*/
if (TextUtils.isEmpty(isGone)) {
//驳回 //撤销 //待送审
if (SunjConstants.intentNumUrl.AUDIO_BOHUI.equals(auditStatusName) || SunjConstants.intentNumUrl.AUDIO_CHEXIAO.equals(auditStatusName)
|| SunjConstants.intentNumUrl.AUDIO_DAISONGSHEN.equals(auditStatusName)) {
isShow(tvSongShen, tvCheHui, tvShanChu, View.VISIBLE, View.GONE);
//审批中
} else if (SunjConstants.intentNumUrl.AUDIO_LODING.equals(auditStatusName)) {
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.VISIBLE);
} else {
//通过 //其他状态
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.GONE);
}
} else {
// 按钮隐藏
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.GONE);
}
}

/**
* 按钮显示隐藏
*
* @param tvSongShen 送审按钮
* @param tvCheHui 撤回按钮
* @param tvShanChu 删除按钮
* @param visible 显示
* @param gone 隐藏
*/
private static void isShow(TextView tvSongShen, TextView tvCheHui, TextView tvShanChu, int visible, int gone) {
tvSongShen.setVisibility(visible);
tvCheHui.setVisibility(gone);
tvShanChu.setVisibility(visible);
}
}
package com.hzy.modulebase.utils;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.content.Context;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;

import com.hzy.modulebase.R;
import com.hzy.modulebase.common.SunjConstants;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
*  * @author SunJian
*  * @description: 
*  * @date :2020/4/10 13:19
*  
*/
@SuppressLint("SimpleDateFormat")
public class BaseCompareUtil {
/**
* 弹窗
*/
private static AlertDialog alertDialog1;
/**
* 多选弹窗
*/
// private static AlertDialog alertDialogMore;
private static String[] mItems;
private static AlertDialog mAlertDialog;

/**
* 日历点击时间无限制
* TextView
*/
public static void showDatePickers(final Calendar calendar, Activity activity, final TextView changeView) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
changeView.setText(format.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
// DatePicker datePicker = dialog.getDatePicker();
// datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

/**
* 日历点击时间无限制
* EditText
*/
public static void showDatePickersEdit(final Calendar calendar, Activity activity, final EditText changeView) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
changeView.setText(format.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
// DatePicker datePicker = dialog.getDatePicker();
// datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

/**
* 时间选择有限制不能 选择今天前的时间
*
* @param calendar calendar
* @param activity active
* @param changeView 显示控件
*/
public static void showDatePickersLog(final Calendar calendar, Activity activity, final TextView changeView,
final callBacks callBack) {
DatePickerDialog dialog = new DatePickerDialog(activity, (view, year, month, dayOfMonth) -> {
calendar.set(year, month, dayOfMonth);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日");
changeView.setText(format.format(calendar.getTime()));
callBack.callbacks(format1.format(calendar.getTime()));
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
//设置起始日期和结束日期
DatePicker datePicker = dialog.getDatePicker();
datePicker.setMinDate(System.currentTimeMillis());
dialog.show();
}

public static void showDilogPickers(String tittle, Activity activity, final String[] items,
final callBacks callBack) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle(tittle);
alertBuilder.setItems(items, (dialogInterface, i) -> {
callBack.callbacks(items[i]);
alertDialog1.dismiss();
});
alertDialog1 = alertBuilder.create();
alertDialog1.show();
}

/**
* 返回两个参数
*
* @param tittle 标题
* @param activity 页面
* @param items 显示条目
* @param callBack 回调
*/
public static void showDilogPickersCode(String tittle, Activity activity, final String[] items,
final callBack callBack) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle(tittle);
alertBuilder.setItems(items, (dialogInterface, i) -> {
callBack.callback(items[i], String.valueOf(i));
alertDialog1.dismiss();
});
alertDialog1 = alertBuilder.create();
alertDialog1.show();
}

public static String initDate() {
Calendar mCalendar = Calendar.getInstance();
int year = mCalendar.get(Calendar.YEAR);
int month = mCalendar.get(Calendar.MONTH);
String monthStr;
if (month + 1 <= 9) {
monthStr = "0" + (month + 1);
} else {
monthStr = String.valueOf(month + 1);
}
int dayOfMonth = mCalendar.get(Calendar.DAY_OF_MONTH);
String dayOfMonthStr;
if (dayOfMonth <= 9) {
dayOfMonthStr = "0" + dayOfMonth;
} else {
dayOfMonthStr = String.valueOf(dayOfMonth);
}
//创建时间
return year + "-" + monthStr + "-" + dayOfMonthStr;

}

public static String fengxiang(String type) {
switch (type) {
case "无风":
return "1";
case "北风":
return "8";
case "西南风":
return "5";
case "西风":
return "6";
case "东风":
return "2";
case "西北风":
return "7";
case "东南风":
return "3";
case "南风":
return "4";
case "东北风":
return "9";
default:
return "";
}
}

public static String status(String status) {
if (status.equals("正常")) {
return "1";
} else if (status.equals("已作废")) {
return "2";
} else {
return "";
}
}

public static String type(String status) {
switch (status) {
case "未付款":
return "0";
case "已付款":
return "1";
case "已取消":
return "3";
default:
return "";
}
}

public static String moneyType(String status) {
if (status.equals("收款")) {
return "1";
} else if (status.equals("付款")) {
return "2";
} else {
return "";
}
}

public static String list(String status) {
if (status.equals("清单付款")) {
return "2";
} else if (status.equals("合同付款")) {
return "1";
} else {
return "";
}
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateTime(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateH(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 将时间戳转换为时间
*/
public static String stampToDateTimeNew(long s) {
if (s == 0) {
return "";
}
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(s);
res = simpleDateFormat.format(date);
return res;
}

/**
* 多选弹窗
*/
private static AlertDialog alertDialogMore;

public static void showMutilAlertDialog(Activity activity, List<ChooseMoreBean> list, callBackList backList) {
if (ListUtil.isEmpty(list)) {
return;
}
List<String> nameList = new ArrayList<>();
List<String> idList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
nameList.add(list.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[nameList.size()]);
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
alertBuilder.setTitle("审批流");
/**
*第一个参数:弹出框的消息集合,一般为字符串集合
* 第二个参数:默认被选中的,布尔类数组
* 第三个参数:勾选事件监听
*/
alertBuilder.setMultiChoiceItems(mItems, null, (dialogInterface, i, isChecked) -> {
if (isChecked) {
list.get(i).setClick(true);
} else {
list.get(i).setClick(false);
}
});
alertBuilder.setPositiveButton("确定", (dialogInterface, i) -> {
for (int j = 0; j < list.size(); j++) {
if (list.get(j).isClick()) {
idList.add(list.get(j).getId());
}
}
backList.callback(idList);
alertDialogMore.dismiss();
});

alertBuilder.setNegativeButton("取消", (dialogInterface, i) -> alertDialogMore.dismiss());
alertDialogMore = alertBuilder.create();
alertDialogMore.show();
}

/**
* 返回
*/
public interface callBackList {
//返回参数
void callback(List<String> stringList);
}

public interface callBackId {
//返回参数
void callback(String id);
}



/**
* 审批流点击弹窗
*/
public static void showList(Activity activity, List<AudioListBean> response, callBackId callBackId) {
if (!ListUtil.isEmpty(response)) {
List<String> nameList = new ArrayList<>();
for (int i = 0; i < response.size(); i++) {
nameList.add(response.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[0]);
} else {
mItems = new String[]{"暂无"};
}
String tittle;
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
tittle = "请选择审批流程";
alertBuilder.setTitle(tittle);
alertBuilder.setItems(mItems, (dialogInterface, i) -> {
//设置返回参数
if (!"暂无".equals(mItems[i])) {
//客户类型数据字典
callBackId.callback(response.get(i).getDeploymentId());
}
mAlertDialog.dismiss();
});
mAlertDialog = alertBuilder.create();
mAlertDialog.show();
//获取屏幕大小
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
assert wm != null;
wm.getDefaultDisplay().getMetrics(dm);
// 屏幕宽度(像素)
int width = dm.widthPixels;
// 屏幕高度(像素)
int height = dm.heightPixels;
WindowManager.LayoutParams params = Objects.requireNonNull(mAlertDialog.getWindow()).getAttributes();
params.width = (int) (0.65 * width);
//判断返回条数,设计弹窗显示大小
if (!ListUtil.isEmpty(response)) {
if (response.size() < 10) {
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
} else {
params.height = (int) (0.6 * height);
}
}
mAlertDialog.getWindow().setAttributes(params);
}

/**
* 审批流点击弹窗
* 不可取消的窗口
*/
public static void showApproveListAndNoCancel(Activity activity, List<AudioListBean> response, callBackId callBackId) {
if (!ListUtil.isEmpty(response)) {
List<String> nameList = new ArrayList<>();
for (int i = 0; i < response.size(); i++) {
nameList.add(response.get(i).getName());
}
//名字
mItems = nameList.toArray(new String[0]);
} else {
mItems = new String[]{"暂无"};
}
String tittle;
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
tittle = "请选择审批流程";
alertBuilder.setTitle(tittle);
alertBuilder.setItems(mItems, (dialogInterface, i) -> {
//设置返回参数
if (!"暂无".equals(mItems[i])) {
//客户类型数据字典
callBackId.callback(response.get(i).getDeploymentId());
}
mAlertDialog.dismiss();
});
mAlertDialog = alertBuilder.create();
mAlertDialog.setCancelable(false);
mAlertDialog.setCanceledOnTouchOutside(false);
mAlertDialog.show();
//获取屏幕大小
WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
assert wm != null;
wm.getDefaultDisplay().getMetrics(dm);
// 屏幕宽度(像素)
int width = dm.widthPixels;
// 屏幕高度(像素)
int height = dm.heightPixels;
WindowManager.LayoutParams params = Objects.requireNonNull(mAlertDialog.getWindow()).getAttributes();
params.width = (int) (0.65 * width);
//判断返回条数,设计弹窗显示大小
if (!ListUtil.isEmpty(response)) {
if (response.size() < 10) {
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
} else {
params.height = (int) (0.6 * height);
}
}
mAlertDialog.getWindow().setAttributes(params);
}

// public static void showMutilAlertDialog(Activity activity, List<ChooseMoreBean> list, callBackList backList) {
// if (ListUtil.isEmpty(list)) {
// return;
// }
// List<String> nameList = new ArrayList<>();
// List<String> idList = new ArrayList<>();
// for (int i = 0; i < list.size(); i++) {
// nameList.add(list.get(i).getName());
// }
// //名字
// mItems = nameList.toArray(new String[nameList.size()]);
// AlertDialog.Builder alertBuilder = new AlertDialog.Builder(activity);
// alertBuilder.setTitle("审批流");
// /**
// *第一个参数:弹出框的消息集合,一般为字符串集合
// * 第二个参数:默认被选中的,布尔类数组
// * 第三个参数:勾选事件监听
// */
// alertBuilder.setMultiChoiceItems(mItems, null, (dialogInterface, i, isChecked) -> {
// if (isChecked) {
// list.get(i).setClick(true);
// } else {
// list.get(i).setClick(false);
// }
// });
// alertBuilder.setPositiveButton("确定", (dialogInterface, i) -> {
// for (int j = 0; j < list.size(); j++) {
// if (list.get(j).isClick()) {
// idList.add(list.get(j).getId());
// }
// }
// backList.callback(idList);
// alertDialogMore.dismiss();
// });
//
// alertBuilder.setNegativeButton("取消", (dialogInterface, i) -> alertDialogMore.dismiss());
// alertDialogMore = alertBuilder.create();
// alertDialogMore.show();
// }

/**
* 返回
*/
public interface callBacks {
//返回参数
void callbacks(String projectStr);
}

/**
* 返回
*/
public interface callBack {
//返回参数
void callback(String projectStr, String code);
}



/**
* 送审样式
*/
/**
* @param auditStatusName 审批状态
* @param tvStatus 审批状态按钮
* @param tvSongShen 送审
* @param tvCheHui 撤回按钮
* @param tvShanChu 删除按钮
* @param isGone 是否显示按钮当为空的时候显示否则隐藏
*/
public static void approval(String auditStatusName, TextView tvStatus, TextView tvSongShen, TextView tvCheHui, TextView tvShanChu, String isGone) {
/*按钮颜色*/
if (SunjConstants.intentNumUrl.AUDIO_BOHUI.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_btn_recall_new);
} else if (SunjConstants.intentNumUrl.AUDIO_HAVING.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_pass);
} else if (SunjConstants.intentNumUrl.AUDIO_CHEXIAO.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_recall);
} else if (SunjConstants.intentNumUrl.AUDIO_DAISONGSHEN.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_watting);
} else if (SunjConstants.intentNumUrl.AUDIO_LODING.equals(auditStatusName)) {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_ing);
} else {
tvStatus.setBackgroundResource(R.drawable.shape_status_approval_ing);
}
/*按钮显示*/
if (TextUtils.isEmpty(isGone)) {
//驳回 //撤销 //待送审
if (SunjConstants.intentNumUrl.AUDIO_BOHUI.equals(auditStatusName) || SunjConstants.intentNumUrl.AUDIO_CHEXIAO.equals(auditStatusName)
|| SunjConstants.intentNumUrl.AUDIO_DAISONGSHEN.equals(auditStatusName)) {
isShow(tvSongShen, tvCheHui, tvShanChu, View.VISIBLE, View.GONE);
//审批中
} else if (SunjConstants.intentNumUrl.AUDIO_LODING.equals(auditStatusName)) {
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.VISIBLE);
} else {
//通过 //其他状态
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.GONE);
}
} else {
// 按钮隐藏
isShow(tvSongShen, tvCheHui, tvShanChu, View.GONE, View.GONE);
}
}

/**
* 按钮显示隐藏
*
* @param tvSongShen 送审按钮
* @param tvCheHui 撤回按钮
* @param tvShanChu 删除按钮
* @param visible 显示
* @param gone 隐藏
*/
private static void isShow(TextView tvSongShen, TextView tvCheHui, TextView tvShanChu, int visible, int gone) {
tvSongShen.setVisibility(visible);
tvCheHui.setVisibility(gone);
tvShanChu.setVisibility(visible);
}
}

posted on 2021-08-05 09:47  带镐伤的土豆  阅读(10)  评论(0编辑  收藏  举报

导航