我想在对话框定义一个全选,有人知道怎么做吗
之前用CheckBox用监听事件set实现了全选,这里不知道如何实现
之前用CheckBox用监听事件set实现了全选,这里不知道如何实现
2016-08-22
findViewById(R.id.bt6).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); //添加布局并加载 View view=View.inflate(MainActivity.this, R.layout.dialog_layout2, null); builder.setView(view); builder.setTitle("自定义的多选对话框"); builder.setIcon(R.drawable.ic_launcher); final CheckBox cb1=(CheckBox) view.findViewById(R.id.checkBox1); final CheckBox cb2=(CheckBox) view.findViewById(R.id.checkBox2); final CheckBox cb3=(CheckBox) view.findViewById(R.id.checkBox3); cb3.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ cb1.setChecked(true); cb2.setChecked(true); }else{ cb1.setChecked(false); cb2.setChecked(false); } } }); AlertDialog dialog=builder.create();//创造与该builder提供的参数一个警告对话框。 dialog.show();//显示dialog } });
布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="man" /> <CheckBox android:id="@+id/checkBox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="women" /> <CheckBox android:id="@+id/checkBox3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="all" /> </LinearLayout>
findViewById(R.id.bt3).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog_1(); } private void dialog_1() { AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this); builder.setTitle("爱好"); builder.setIcon(R.drawable.ic_launcher); builder.setMultiChoiceItems(multi_dialog, null, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if(isChecked){ Toast.makeText(MainActivity.this, "您喜欢"+multi_dialog[which], Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(MainActivity.this, "您不喜欢"+multi_dialog[which], Toast.LENGTH_SHORT).show(); } } }); AlertDialog dialog=builder.create();//创造与该builder提供的参数一个警告对话框。 dialog.show();//显示dialog } });
举报