怎么样才能让android中所弹出的对话框显示出复选框所选择的内容??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样才能让android中所弹出的对话框显示出复选框所选择的内容??相关的知识,希望对你有一定的参考价值。

AlertDialog.Builder有现成的API可以实现显示复选框的内容。
1.创建AlertDialog.Builder并设置数据源
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("复选框"); //设置对话框标题
builder.setIcon(android.R.drawable.ic_menu_more); //设置对话框标题前的图标

final String[] data = getResources().getStringArray(R.array.radio); //通过resources 得到strings.xml中的字符串数组
boolean[] state = new boolean[data.length];
for(int i=0; i<data.length; i++)
state[i] = sboolean.get(i); //将状态集合中的数据取出来,下次选择时候会默认选中


2.注册点击事件,并记录复选的数据
/*
* 第一个参数是,数据原,可以是数组,也可以传strings.xml那的字符串ID,但是建议用数组,因为多选监听返回的是数组的标下
* 第二个参数是,默认的选中位置,是个boolean数组,对应item的位置
* 第三个是列表点击监听事件
*/
builder.setMultiChoiceItems(R.array.radio, state, new DialogInterface.OnMultiChoiceClickListener() //注册单选择监听事件
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked)
if(isChecked)
Toast.makeText(context,"你选择了: " + data[which], Toast.LENGTH_SHORT).show();
checkBoxData.add(data[which]); //选择的时候要保存起来
else
Toast.makeText(context,"你取消了: " + data[which], Toast.LENGTH_SHORT).show();
checkBoxData.remove(data[which]); //取消选中的时候要删除掉

sboolean.put(which, isChecked); //每次选择都要记录下这个item的状态

);

3.增加确定和取消按键
builder.setPositiveButton("确认", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Toast.makeText(context, "你点了确定,选择的是: " + checkBoxData.toString(), Toast.LENGTH_SHORT).show();

);

4.设置dialog的相关参数,并弹出
builder.setNegativeButton("取消", null); //取消不做任何处理
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();
参考技术A 还是我来告诉你吧!这个还是在于你的判断有问题,不管checkbox是否被选中,checkBoxString2=checkBox2.getText().toString();都不变的,所以你要自己判断,如果没有选中,那么设置为null。明白了吗?也就是说你点击取消选中的时候,它得到的还是你布局文件中设定的那个text。

求问:ueditor的工具栏如何才能多行显示

参考技术A ueditor的工具栏如何才能多行显示
  1、选择需要进行双行合一的文字,单击“段落”选项组中的“中文版式”按钮,在弹出的下拉列表中选择“双行合一”选项,选择文本时,可以只有一行,也可以选择多行。
  选择文本
  2、在弹出的“双行合一”对话框,若要对合并的文字添加括号,则勾选“带括号”复选框,然后在“括号样式”下拉列表中选择括号样式。
  “双行合一”对话框
  3、设置完成后单击“确定”按钮,在返回的文档中即可查看效果。设置双行合一后,用户仍然可以对该文字进行编辑。

以上是关于怎么样才能让android中所弹出的对话框显示出复选框所选择的内容??的主要内容,如果未能解决你的问题,请参考以下文章

win7弹出的消息被其他页面遮挡,怎样让弹出的对话框显示在最上面一层?

android 弹出的对话框在点击确定后消失

android 弹出的对话框在点击确定后消失

android怎么让EditText弹出的默认是字母键盘呢

如何保证浏览器的页面中,在每次打开一个网页新窗口后,仍然让原来页面总是显示在最前面?

QT软件弹出的对话框界面很大,超出电脑屏幕显示范围怎么办?