【MVP】DialogUtilsDialog弹窗工具类

来源:互联网 发布:mysql 数据快照 编辑:程序博客网 时间:2024/06/08 03:48

其他都很好写,注意setSingleChoiceItems()有四个重载的方法:
1、从资源文件中装载数据:
public AlertDialog.Builder setSingleChoiceItems(int itemsId, int checkedItem, final OnClickListener listener)
2、从数据集中装载数据
public AlertDialog.Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, final OnClickListener listener)
3、从字符串数组中装载数据
public AlertDialog.Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
4、从ListAdapter对象中装载数据
public AlertDialog.Builder setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener listener)
我们只需要关注第二个参数:
checkedItem:指定哪个项目被选中,默认为0表示选中第一个项目,-1表示没有项目被选中
所以我们只需要先从保存的数据中得到原先的序号,将此序号作为checkedItem参数传入即可。

package com.example.chen.lolhelper.util;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.view.View;/** * DialogUtils * Dialog弹窗工具类 * Created by chen on 2017/8/24. */public class DialogUtils {    /**     *     * @param context     * @param titleResId     * @param messageResId     * @param cancelable     * @param yesOnClick     * @param noOnClick     */    public static void showDialog(Context context, int titleResId, int messageResId, boolean cancelable,                                  DialogInterface.OnClickListener yesOnClick,                                  DialogInterface.OnClickListener noOnClick){       AlertDialog dialog = new AlertDialog.Builder(context).setTitle(titleResId)                .setMessage(messageResId).setCancelable(cancelable)               .setPositiveButton("yes",yesOnClick).setNegativeButton("no",noOnClick).create();        dialog.show();;    }    /**     * 自定义View     * @param context     * @param titleResId     * @param v     * @param cancelable     */    public static void showDialog(Context context, int titleResId, View v,boolean cancelable){        AlertDialog dialog = new AlertDialog.Builder(context)                .setTitle(titleResId).setView(v).setCancelable(cancelable)                .setPositiveButton("yes",null).create();        dialog.show();    }    /**     *单选对话框     * @param context     * @param titleResId     * @param arrayId     * @param choiceOnClickListener     */    public static void showMultiItemsDialog(Context context,int titleResId,int arrayId,                                            DialogInterface.OnClickListener choiceOnClickListener){        AlertDialog dialog = new AlertDialog.Builder(context).setTitle(titleResId)                .setSingleChoiceItems(arrayId,-1,choiceOnClickListener).setCancelable(true).create();        dialog.show();    }}
原创粉丝点击