Android AlertDialog 设置setSingleChoiceItems不显示列表的原因【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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要修改AlertDialog中选项的字体大小,可以通过自定义布局来实现。首先,创建一个XML布局文件,其中包含一个ListView,然后在ListView中设置文本大小。 例如,创建一个名为"custom_list_item.xml"的布局文件,其内容如下: ``` <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@android:color/black" android:textSize="20sp" /> ``` 接下来,在AlertDialog使用setView方法设置这个布局文件,例如: ``` AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("选择一个选项"); builder.setSingleChoiceItems(R.array.options, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 处理选项选择事件 } }); LayoutInflater inflater = getLayoutInflater(); View customView = inflater.inflate(R.layout.custom_list_item, null); ListView listView = (ListView) customView.findViewById(android.R.id.list); builder.setView(customView); AlertDialog dialog = builder.create(); dialog.show(); ``` 在此示例中,我们使用布局文件"custom_list_item.xml"创建了一个自定义视图,并将其设置AlertDialog的视图。然后,我们从自定义视图中获取ListView,并使用setSingleChoiceItems方法设置了一个单选列表。在布局文件中,我们设置了TextView的文本大小为20sp,这将影响ListView中的每个选项的文本大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值