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();
该文章对您有帮助吗?