【MVP】DialogUtilsDialog弹窗工具类

其他都很好写,注意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();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值