Dialog、SharedPreferences、内部存储
来源:互联网 发布:淘宝怎么弄限时促销 编辑:程序博客网 时间:2024/06/06 04:44
一、Dialog
setitems(数组的资源id或者是字符串类型数组,每项Item的点击事件); 普通列表
public void showCommonListDialog(){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("设置字体颜色"); builder.setIcon(R.mipmap.ic_launcher); //setItems(表示展示到列表中的数组的资源id或者是字符串类型的数组,表示点击列表中item的点击事件) builder.setItems(R.array.colors_name, new DialogInterface.OnClickListener() { //int which 表示点击item的下标 @Override public void onClick(DialogInterface dialog, int which) { switch (which){ case 0: tv.setTextColor(Color.RED); break; case 1: tv.setTextColor(Color.GREEN); break; case 2: tv.setTextColor(Color.BLUE); break; } } }); builder.create().show(); }
setAapter(ListAdapter接口 SimpleAdapter,每项Item的点击事件); 适配器列表
public void showAdapterListDialog(){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("系统设置"); List<Map<String,Object>> list=new ArrayList<>(); //分别获取设置名称和图片的数组 String[] settings_name=getResources().getStringArray(R.array.setting_names); String[] settings_images=getResources().getStringArray(R.array.setting_image); for(int i=0;i<settings_images.length;i++){ Map<String,Object> map=new HashMap<>(); map.put("settingName",settings_name[i]); //根据图片名称获取图片资源id //getIdentifier(资源的名称,表示资源的类型,资源的包名)根据资源的名称和类型获取资源对应的资源id int imageid=getResources().getIdentifier(settings_images[i], "drawable",getPackageName()); map.put("settingImage",imageid); list.add(map); } SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.list_item, new String[]{"settingName","settingImage"}, new int[]{R.id.tv,R.id.iv}); //setAdapter(表示需要展示到列表中的适配器,表示点击item的单击事件) builder.setAdapter(adapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent=null; switch (which){ case 0://wifi intent=new Intent(Settings.ACTION_WIFI_SETTINGS); break; case 1://声音 intent=new Intent(Settings.ACTION_SOUND_SETTINGS); break; case 2: intent=new Intent(Settings.ACTION_DATE_SETTINGS); break; } startActivity(intent); } }); builder.create().show(); }
setSingleChoseItems(数组的资源id或者是字符串类型的数组 cursor,默认选中item的下标 都未选中-1,每项Item的点击事件); 单选列表
/* 单选列表对话框 */ public void showSingleChoseDialog(){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("设置字体大小"); //获取字号具体大小的数组 10 20 30 final String[] fontSize=getResources().getStringArray(R.array.font_size); //setSingleChoiceItems(表示单选列表的数据源 字符串类型的数组 数组的资源id adapter cursor // 表示当前默认选中的item的下标 如果没有默认选中指定-1 单击监听) builder.setSingleChoiceItems(R.array.font_name, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { tv.setTextSize(Float.parseFloat(fontSize[which])); } }); builder.setPositiveButton("确定",null); builder.create().show(); }
setMuliteChoseItems(数据源,boolean类型的数组 要求与数据源长度一致 表示item的选中状态 true选中
false未选中,都选item中的监听事件);
/* 多选列表对话框 */ public void showMutiChoseDialog(){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("选择爱好"); final String[] hobbys=getResources().getStringArray(R.array.hobbys);// boolean[] checkedItems=new boolean[hobbys.length];//fasle false false boolean[] checkedItems={true,false,true}; //setMultiChoiceItems(表示多选列表的数据源 数组的资源id 字符串数组 cursor, // 表示默认选中item boolean类型的数组 true表示选中 false表示未选中 null 表示默认都未选中) builder.setMultiChoiceItems(R.array.hobbys, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if(isChecked){ Toast.makeText(MainActivity.this,hobbys[which],Toast.LENGTH_SHORT).show(); } } }); builder.create().show(); }
setCustomTitle(View)设置自定义dialog的标题视图
setView(View) 设置自定义dialog的内容视图
二、SharedPrefences
- Sharedprefence 存储方式 共享参数
- 1.Sharedprefence文件存储以key-value形式存储成xml文件
- 2.操作Sharedprefence文件本质上就是在读写xml文件 只不过api中进行了封装
- 3.Sharedprefence主要适合存储简短的配置信息
- 4.Sharedprefence可存储的数据类型 6
String int float long boolean Set<String>
- 5.Sharedprefence文件存储的位置
data/data/应用程序包名/shared_prefs/xxxx.xml
写入:
SharedPreferences prefences=getSharedPreferences(filename,mode);
SharedPreferences prefences=getPreferences(mode);SharedPreferences.Editor editor=prefences.edit();
editor.putXX(key,value);
editor.commit();
读取:
SharedPreferences prefences=getSharedPreferences(filename,mode);
SharedPreferences prefences=getPreferences(mode);prefences.getXX(key)
Map
- Dialog、SharedPreferences、内部存储
- Android中的数据存储: SharedPreferences,内部存储,外部存储,数据库
- 数据存储(SharedPreferences)(内部存储及外部存储)
- 安卓的内部存储方式(二) SharedPreferences
- Android的五大存储方式:SharedPreferences、内部存储、外部存储、SQLite和网络存储
- 数据存储(sharedPreferences,内部存储,外部存储,SQLite数据库,网络存储)
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences 存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- SharedPreferences存储
- 业务表单中通用选择功能的实现归纳与总结
- Blender Reference Manual 欢迎使用Blender手册!
- ffmpeg安装及encode库的安装说明
- 欢迎使用CSDN-markdown编辑器
- 表单中权限设置 VS 流程节点中权限设置
- Dialog、SharedPreferences、内部存储
- 手把手教你开一间咖啡馆
- UDT--安装教程
- MySQL net start mysql 发生系统错误5 解决办法
- 基于python开发pre-commit hook达到对git提交时间的控制
- Android:密码显示隐藏
- 工作流软件中的那些事
- POJ2135-Farm Tour
- 程序员吃的是青春饭?年纪大了何去何从