-
。。。。。逗比式没有任何优化处理,每次都创建新的View设置空间,效率及其低下查看全部
-
layoutinflate 实现将文件转化为布局查看全部
-
......查看全部
-
ViewHolder优化BaseAdapter思路查看全部
-
创建内部类ViewHolder,成员变量即ImageView imageView,TextView title,TextView content.避免重复的findViewById操作,若convertView为空则通过viewHolder的成员变量将findViewById到的控件保存起来,并将convertView.setTag(viewHolder),建立一个convertView和viewHolder之间的关联关系;若convertView不为空,则可直接通过viewHolder=(ViewHolder)convertView.getTag;获取viewHolder中保存的控件,用viewHolder的成员变量设置查看全部
-
baseAdapter基本结构查看全部
-
ListView的显示与缓存机制查看全部
-
普通式相比于逗比式只是将每次循环中自己创建的view换成getView方法中参数的convertView,调用getView方法先判断view是否为空,不为空表示已经加载过了存在于缓冲池中,不需要重新创建新的View类对象来转换布局文件,布局文件转换为View类对象也需要消耗不小的资源查看全部
-
新建数据适配器: 1.创建一个MyAdapter.java类,继承BaseAdapter,成员变量mList,在MyAdapter的构造方法中保存传进来的List<ItemBean>类型的数据源。 2.getCount()方法返回ListView需要显示的数据数量 mList.size()获取数据源的数据数量 getItem()方法取指定索引的数据项,mList.get(position)获取position getItemId()方法获取索引项,直接返回position getView()方法返回数据项显示的内容:/*逗比式,不考虑优化,每次创建新的view,效率低下*/ *通过LayoutInflater方法将一个xml文件转换为view对象(之后才能进行控件的初始化findviewbyid操作) ----成员变量LayoutInflater mInflater;//布局装载器对象 ----mInflater=LayoutInflater.from(context);//context是要使用当前的Adapter的界面对象 *View view=mIflater.inflate(R.layout.item,null) *对封装的控件分别进行初始化操作 3.MainActivity中初始化ListView控件,并配置适配器listView.setAdapter(new MyAdapter(this,itemBeanList));查看全部
-
基本结构查看全部
-
数据适配器查看全部
-
*创建一个ItemBean.java文件来封装ListView中的控件。 并在封装文件中写构造函数对成员变量进行初始化。 *创建数据源时,将数据源的类型直接定义为List<ItemBean>,List<ItemBean> itemBeanList=new ArrayList<>();再用循环给ListView的每一行进行赋值。查看全部
-
RelativeLayout布局中,可以通过多个属性来摆放控件的位置。可以先toEndof,再layout_below查看全部
-
ListView和GridView的缓冲机制:用则显示,滑出屏幕之后则放入缓冲区,需要使用再取出,节省了系统资源。查看全部
-
ViewHolder优化BaseAdapter思路查看全部
举报
0/150
提交
取消