ListView的使用(未优化)

来源:互联网 发布:江滨观邸11#网络备案 编辑:程序博客网 时间:2024/05/15 07:30

2016/1/10 15:40:32

ListView的使用(未优化)


一.使用ArrayAdapter实现简单的数据展示

String[] data = {"北京","上海","深圳","天津","广州","武汉","合肥","哈尔滨","内蒙古","成都","重庆","长沙","拉萨"};listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data));

其中 android.R.layout.simple_list_item_1 为系统内置的布局文件,可用于简单的显示一段文本。当然我们也可以定义自己的布局并加载进去。

二.使用BaseAdapter实现图文并茂的数据展示

准备好布局,数据等准备工作,数据可以单独建立一个类,属性有文字以及图片,添加get和set方法,在List集合中保存它们。由于代码简单,就不贴出来了。主要看继承自BaseAdapter的MyAdapter中的代码:

class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            return mlist.size();        }        @Override        public Object getItem(int position) {            return null;        }        @Override        public long getItemId(int position) {            return 0;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            MyItem myItem = mlist.get(position);            LayoutInflater layoutInflater = LayoutInflater.from(SecondActivity.this);            View v = layoutInflater.inflate(R.layout.second_layout_listview, null);            ImageView iv  = (ImageView) v.findViewById(R.id.iv);            TextView tv = (TextView) v.findViewById(R.id.tv);            iv.setImageResource(myItem.getImg_id());            tv.setText(myItem.getDescribe());            return v;        }    }        

此时的ListView每次滚动都会创建出新的View,效率很低,针对这个缺点,在下一篇中实现ListView的两种优化方案。

为ListView添加点击事件

lv_second.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                MyItem myItem = mlist.get(position);                Toast.makeText(SecondActivity.this,myItem.getDescribe(),Toast.LENGTH_LONG).show();            }        });
0 0
原创粉丝点击