Android 使用AlertDialog实现多选并保存选中状态
来源:互联网 发布:淘宝论文降重有风险吗 编辑:程序博客网 时间:2024/06/04 18:00
先对要实现的效果做出描述:1、首次弹出对话框,如果有被选中的item,item的值设为true
2、可以随意选中和取消item
3、记录选中的状态
效果图:
public class MyActivity extent Activity{private Map<Integer, String> map= new HashMap<>(); protected void onCreate(Bundle savedInstanceState){ setContentView(R.layout.main); //AVo.list ,BVo.list 是解析json获得的数据(一般是集合) StringBuffer buffer = new StringBuffer(); for (int j = 0; j < AVo.list.size(); j++) { for (int q = 0; q < BVo.list.size(); q++) { if (BVo.list.get(q).equals(AVo.list.get(j))) { map.put(j, BVo.get(q)); buffer.append(BVo.list.get(q) + ","); } } } button.setonClickListener(new View.OnClickListener(){ showDialog(); }); } private void showDialog() { //把获取的json数据解析后赋值给数组 String[] data=new String[AVo.list.size()]; boolean[] isCheck = new boolean[AVo.list.size()]; for(int i =0;i<AVo.list.size();i++){ data[i]=AVo.list.get(i); if(map.containsKey(i)){ if(map.get(i).equals(AVo.list.get(i))){ isCkeck[i]=true; } } } AlertDialog.Builder ab = new AlertDialog.Builder(TaskDetailActivity.this); ab.setTitle("请选择位置"); ab.setCancelable(false); ab.setMultiChoiceItems(data, isCheck, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i, boolean b) { isCheck[i] = b; } }); ab.setPositiveButton("确定", new DialogInterface.OnClickListener() { StringBuffer buffer = new StringBuffer(); StringBuffer buffer1 = new StringBuffer(); @Override public void onClick(DialogInterface dialogInterface, int i) { for (int q = 0; q < isCheck.length; q++) { if (isCheck[q] == true) { buffer.append(data[q] + " "); buffer1.append(data[q] + ","); map.put(q, data[q]); } else if (map.containsKey(q)) { map.remove(q); }// isCheck[q] = false; } if (buffer.toString() != "") { String str = buffer1.toString(); textview.setText("位置:" + buffer); } else { String str = buffer1.toString(); buffer.delete(0, buffer.length()); textview.setText("位置:" + buffer); } } } ); ab.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } } ); ab.create().show(); }}
阅读全文
0 0
- Android 使用AlertDialog实现多选并保存选中状态
- Android fragment 使用replace并保存状态
- Android—滑动ListView保存选中状态
- Android ListView控件选中item项,并保持选中状态
- Android实现activity状态保存
- 点击一次选中,点击二次取消(或第二个选中),并退出时保存状态
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
- jquery ajax 下拉框三级无刷新联动,并保存保持选中值状态
- Android重写FragmentTabHost来实现状态保存
- Android重写FragmentTabHost来实现状态保存
- Android重写FragmentTabHost来实现状态保存
- Android checkBox 在listView 实现单选,并记录保存
- Android - 保存用户首次使用状态(SharedPreferences)
- asp.net实现省市区级联下拉列表并保存状态
- Android ListView选中状态
- ViewPager fragment 保存状态,内部使用listview 并进行了操作,保存操作后的状态
- Android ViewPager中加fragment并保存fragment的状态
- 循环 创建 UIButton 并添加选中状态 (单选和多选)
- 公众号本地开发
- 在网页中嵌入代码块
- 测试者出的APP测试面试题
- 把用户名连成字符串的sql语句.
- Java后端WebSocket的Tomcat实现
- Android 使用AlertDialog实现多选并保存选中状态
- sql server 查询数据库中有多少个表
- Mybatis最入门
- page,request,session,application四个域对象的使用及区别
- java原码、补码、反码总结
- poj 1125
- 根据类名字符串创建类名并且调用类里的方法
- Python-list详解
- 去除数组中的重复数据