AlertDialog.Builder实现多选框的全选和反选功能
来源:互联网 发布:云计算 智慧园区 编辑:程序博客网 时间:2024/06/03 20:44
多选框有一个全选按钮,需要实现的功能是选中全选则所有选项被选中,取消全选则所有选项被取消
现在的情况是,选中全选可以将所有选项选中,但是取消全选却不能取消所有选项,代码如下
String[] strArr = new String[] { "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "全选" };
boolean[] boolArr = new boolean[strArr.length];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("多选");
builder.setMultiChoiceItems(strArr, boolArr, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (which == strArr.length - 1) { // 点击全选
for (int i = 0; i < boolArr.length; i++) {
boolArr[i] = isChecked;
}
} else {
boolArr[which] = isChecked;
}
}
});
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null);
builder.create().show();
}
});
}
现在的情况是,选中全选可以将所有选项选中,但是取消全选却不能取消所有选项,代码如下
String[] strArr = new String[] { "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "全选" };
boolean[] boolArr = new boolean[strArr.length];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("多选");
builder.setMultiChoiceItems(strArr, boolArr, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (which == strArr.length - 1) { // 点击全选
for (int i = 0; i < boolArr.length; i++) {
boolArr[i] = isChecked;
}
} else {
boolArr[which] = isChecked;
}
}
});
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null);
builder.create().show();
}
});
}
0 0
- AlertDialog.Builder实现多选框的全选和反选功能
- js实现全选和反选功能
- js实现全选和反选功能
- js实现全选和反选功能
- js实现全选和反选功能
- jQuery实现的全选、反选和不选功能
- jQuery实现的全选、反选和不选功能
- jQuery实现的全选、反选和不选功能
- jQuery实现的全选、反选和不选功能
- java实现复选框的全选和反选功能
- “全选”,“反选”功能的实现。
- 全选和反选功能
- GridView中实现反选和全选功能
- 使用JQuery实现全选、反选、添加和删除功能
- js实现复选框全选和反选功能
- JQuery实现全选、全不选和反选功能
- JavaScript中复选框的全选和反选功能的实现
- checkbox实现的类似邮箱的全选和反选功能
- 求助!关于Android接口数据加密的问题
- 2017_01_02_1_别名
- IntelliJ IDEA 2016注册方法和注册码
- ASP提取整页中的链接和链接词 其他过滤 如何正则?
- 求助一个问题,100分,我也没多少分了。
- AlertDialog.Builder实现多选框的全选和反选功能
- Git 详解
- 通过handler更新UI的疑问
- 用ftp方式下载文件,怎么得到正在下载文件的大小啊
- 2017_01_02_1_静态绑定
- 一个recyclerView实现linear和Grid的布局
- Ubuntu下使用安装和使用MYSQL和JDBC
- 多客户端传感器数据采集系统
- (4.1.45) Android RecyclerView 使用完全解析 体验艺术般的控件