-
除了系统权限还能自定义权限来保护安卓的重要组件查看全部
-
两种数据适配器查看全部
-
布局文件声明GridViewjava里创建GridView 配置 1、准备数据源 2、新建适配器(SimpleAdapter) 3、GridView加载适配器 4、GridView配置监听器(OnItemClickListener) gridView实现过程: 1.准备数据源 dataList=new ArrayList<Map<String,Object>>(); 2.新建适配器(SimpleAdapter) adapter=new SimpleAdapter(this,getData(),自定义布局,new String[]{"image","text"},new int[]{R.id.image,R.id.text}); (getData方法内容见笔记附录1) 3.gridView加载适配器 gridView.setAdapter(adapter); 4.gridView配置时间监听器(OnItemClickListener) 插入接口OnItemClickListener gridView.setOnItemClickListener(this); (onItemClick见笔记附录2) 1.getData方法内部 private List<Map<String,Object>> getData(){ for(int i=0;i<icon.length;i++){ Map<String,Object>map=new HashMap<String,Object>(); map.put("image",icon[i]); map.put("text",iconName[i]); dataList.add(map); } return dataList; } 2.public void onItemClick(...){ Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show(); }查看全部
-
1.ArrayAdapter的数据源:数组或集合 SimpleAdapter的数据源:只能是特定泛型的集合——很多个Map组成的List集合(其构造函数只有一个) private List<Map<String,Object>>dataList; dataList=new ArrayList<Map<String,Object>>(); —————————————————————————————— 注意!!!在类开始出private声明了以后,要在方法内对其进行初始化!!! —————————————————————————————— new SimpleAdapter(this, data,resource, from, to)!!!!和一个Item对应的!!! ---Map对应一个Item的键,-from对应一个item的键,-to对应一个item的键----------- data:数据源 resource:控件的一个item的布局 from:和视图的一个item对应的数据源的键(Map的键) to:视图中一个item中的各个子控件的id查看全部
-
DatePicker对象是以init这个方法初始化来指定DatePicker初始化的年月日以及OnDateChangedListener来监听日期的改变, 而TimePicker不需要init初始化,只需要设置监听OnTimeChangedListener来监听时间的改变, DatePickerDailog是以对话框的方式弹出日期选择器,需要用new的方式创建并且传入对应的监听OnDateSetListener,日期初始化数据,最后记得设置对话框显示(show)方法。 同样TimePickerDailog也是需要以new的方式进行初始化,并且设置OnTimeListene 需要注意的是DatePicker的初始化月份可能需要-1的操作(假如month=calendar.get(Calendar.MONTH) + 1,就需要减一),但直接在init()中使用calendar.get(Calendar.MONTH)表示月份就无需这样的操作。查看全部
-
不加载ViewStub中的内容时,里面的内容就不会分配内存,达到布局优化的目的。查看全部
-
Android常用的布局样式 1.LinearLayout(线性布局) 线性的 垂直的 水平的 2.RelativeLayout(相对布局) 最灵活的 3.TableLayout(表格布局) 现在被 GridView代替 4.AbsoluteLayout(绝对布局) 已淘汰 5.FrameLayout(帧布局) 布局叠加时使用 现在基本使用线性布局和相对布局,特殊情况会使用帧布局(视频暂停、缓冲文件等)。查看全部
-
* 1.getScrollY()--滚动条滑动的距离,从零开始计算 * 2.getMeasuredHeight()-- * 3.getHeight()--查看全部
-
SimpleAdapter---查看全部
-
listview 和 ArrayAdapter / SimpleAdapter; ArrayAdapter={this,R.layout.simple_item,data}; SimpleAdapter = {this,data,自定义的xml文件,from t它是与to中对应的ID的起的名字,to 它是xml中控件的ID}; 中间需要用到 map 集合的。查看全部
-
ListView的 2 种监听; 当点击Item的时候,OnItemClickListener; 当下拉刷新的时候,也就是有一个 onScrollListener的监听; 最后呢,也就是对界面操作之后呢,我们要使这个页面进行更新, 也就是 通过 notifyDataSetChange()来实现。查看全部
-
四大组件都需要注册,在Manifest文件中。 清单文件中,它包括 包名,文件名称,图标,权限,软件版本等信息。 Activity , Service , BroadCast , ContentProvider , 但是好像 ContentProvider 不需要 添加 <intent-filter>。我觉得就好像是它静静的站在那里,等待着别人来访问它,它用来共享数据就可以了。 Broadcast Receiver 有 2 中注册方式,既可以静态注册(也就是直接在 Manifest.xml 文件中直接写就可以了) ,但这个就是写死的了,另一种方式是 动态注册,也就是写一个类 extends Broadcast Receiver ;receiver.register(filter) ,创造2 个对象; Broadcast Receiver 和 intent-filter 的对象,但是不要忘了, override 一个方法,那就是 ondestroy(); 也就是广播发送完了之后,需要注销的时候,将这个 广播给 解除注册....查看全部
-
还是不会开发项目,我真的是要疯了。。。 交了那么多的学费,耽误了一年的时间,我都干了些什么啊。 不甘心,却又找不到别的工作,怎么办。 累,挺累的,真的挺累的查看全部
-
数据适配器:把复杂的数据填充在指定的视图界面上 ArrayAdapter 数组适配器 用于绑定格式单一的数据 数据源:可以是集合或数组 SimpleAdapter 简单适配器:用于绑定格式复杂的数据 数据源:只能是特定泛型的集合 数据适配器是连接数据源和视图界面的桥梁 使用过程:新建适配器->添加数据源到适配器->视图加载适配器查看全部
-
数据适配器:把复杂的数据填充在指定的视图界面上 ArrayAdapter 数组适配器 用于绑定格式单一的数据 数据源:可以是集合或数组 SimpleAdapter 简单适配器:用于绑定格式复杂的数据 数据源:只能是特定泛型的集合 数据适配器是连接数据源和视图界面的桥梁 使用过程:新建适配器->添加数据源到适配器->视图加载适配器查看全部
举报
0/150
提交
取消