AUListDialog(原 APListPopDialog)提供一个带标题、选项列表、确认、取消按钮的列表型对话框。每一个选项用 PopMenuItem 表示,包含图标、选项名称、选中状态等信息。
效果图
接口说明
public interface OnItemClickListener {
void onItemClick(int index);
}
/**
* 根据传入的列表数据创建 AUListDialog,item 只包含文字,无图片
*
* @param context context 对象
* @param list String 列表,纯 ItemName 属性,无图片
*/
public AUListDialog(Context context, ArrayList<String> list)
/**
* 根据传入的列表数据创建 AUListDialog
*
* @param list PopMenuItem 列表
* @param context context 对象
*/
public AUListDialog(ArrayList<PopMenuItem> list, Context context)
/**
* 根据传入的列表数据创建 AUListDialog
*
* @param title 标题
* @param list PopMenuItem 对象列表,可设置图标
* @param context context 对象
*/
public AUListDialog(String title, ArrayList<PopMenuItem> list, Context context)
/**
* 根据传入的列表数据创建 AUListDialog
*
* @param title 标题
* @param message 正文
* @param list PopMenuItem 对象列表,可设置图标
* @param context context 对象
*/
public AUListDialog(String title, String message, ArrayList<PopMenuItem> list, Context context)
/**
* 根据传入的列表数据创建 AUListDialog
*
* @param title 标题
* @param list PopMenuItem 列表
* @param showSelectionState 是否显示选项选中状态图标
* @param positiveString 确认按钮文案
* @param positiveListener 确认按钮监听器
* @param negativeString 取消按钮文案
* @param negativeListener 取消按钮监听器
* @param context context 对象
*/
public AUListDialog(String title, ArrayList<PopMenuItem> list, boolean showSelectionState,
String positiveString, View.OnClickListener positiveListener,
String negativeString, View.OnClickListener negativeListener, Context context)
/**
* 根据传入的列表数据创建 AUListDialog
*
* @param title 标题
* @param message 正文
* @param list PopMenuItem 列表
* @param showSelectionState 是否显示选项选中状态图标
* @param positiveString 确认按钮文案
* @param positiveListener 确认按钮监听器
* @param negativeString 取消按钮文案
* @param negativeListener 取消按钮监听器
* @param context context 对象
*/
public AUListDialog(String title, String message, ArrayList<PopMenuItem> list, boolean showSelectionState,
String positiveString, View.OnClickListener positiveListener,
String negativeString, View.OnClickListener negativeListener, Context context)
/**
* 设置列表选项点击事件监听
*/
public void setOnItemClickListener(OnItemClickListener listener) {
this.listener = listener;
}
/**
* 动态数据刷新接口
*
* @param list
*/
public void updateData(ArrayList<PopMenuItem> list)
代码示例
纯列表弹窗
new AUListDialog(this, getData(7)).show(); private ArrayList<String> getData(int size){ ArrayList<String> data = new ArrayList<String>(); for (int i= 1 ; i<= size; i++){ data.add("选项文本"+ String.valueOf(i)); } return data; }
带标题的列表弹窗
ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>(); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); new AUListDialog("标题", items, this).show();
带说明文本的列表弹窗
ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>(); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); new AUListDialog("", "描述文字的字数尽量控制在三行内,并且单行最右侧尽量不要是标点符号。", items, this).show();
带标题和说明文案的列表弹窗
ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>(); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); new AUListDialog("标题单行", "描述文字的字数尽量控制在三行内,并且单行最右侧尽量不要是标点符号。", items, this).show();
带勾选项的列表弹窗
ArrayList<PopMenuItem> items = new ArrayList<PopMenuItem>(); PopMenuItem item = new PopMenuItem("选项文本", null); item.setType(AUCheckIcon.STATE_UNCHECKED); items.add(item); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); items.add(new PopMenuItem("选项文本", null)); new AUListDialog("标题文字", items, true, "确定", null, "取消", null, this).show();
文档内容是否对您有帮助?