Android AlertDialog 设置setSingleChoiceItems不显示列表的原因【setMessage和setSingleChoiceItems不能同时使用】...

本文介绍了一个关于使用Android中AlertDialog的问题及解决方法。当尝试同时使用setMessage和setSingleChoiceItems方法时会遇到显示问题,通过调整使用方式,实现了根据不同条件选择教师或确认拨打班主任电话的功能。

今日写了个如题目的简单功能,结果列表不显示

无奈重写了一次代码发现setMessage和setSingleChoiceItems不能同时使用。

正确的如下:

private void mobilePhone(){
        AlertDialog.Builder builder = new AlertDialog.Builder(HomePageChildrenActivity.this.getParent());
        if(children_Data.schoolbean.schType.equals("K")){//幼儿园
            List<FriendsBean> teacherlist = new ArrayList<FriendsBean>();
            for(int i=0;i<children_Data.friends.size();i++){
                if(children_Data.friends.get(i).getUsertype().equals("T")){
                    teacherlist.add(children_Data.friends.get(i));
                }
            }
            String[] teachers = new String[teacherlist.size()] ; 
            for(int i=0;i<teacherlist.size();i++){
                teachers[i]=teacherlist.get(i).getUserneme();
            }
            ButtonOnClick buttonOnClick = new ButtonOnClick(0,teacherlist);
            builder.setTitle("请选择教师");
            builder.setSingleChoiceItems(teachers, 0,buttonOnClick);
            builder.setPositiveButton("确认",buttonOnClick);
            builder.setNegativeButton("取消",buttonOnClick);
        }else{
            builder.setMessage("确认拨打"+app.CurrentChildren.childrenName+"的班主任老师电话吗?");
            builder.setTitle("提示");
            builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    Intent intent = new Intent();
                    intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+children_Data.TeaherBean.getMobilePhone()));
                    startActivity(intent);
                    dialog.dismiss();
                }
            });

            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {

                    dialog.dismiss();
                }
            });
        }
        builder.show();
    }

 

转载于:https://www.cnblogs.com/winxiang/p/4402687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值