读书人

Android开发经验总结ListView的运

发布时间: 2012-09-27 11:11:17 作者: rapoo

Android开发经验总结——ListView的使用

Android中ListView这个组件比较常用,但对初学者来说,又比较难掌握,在此分享一下我的使用经验。
ListView是以列表的形式展示数据,这里面有三个要素:数据、视图、适配器。
常用的适配器有三种:ArrayAdapter, SimpleAdapter, SimpleCursorAdapter。
其中SimpleAdapter扩展性最好,几乎能实现所有展示需求的列表,我在实际开发中用的全是这个,这里也只介绍这个。

假设要实现如下效果的列表视图:

Android开发经验总结——ListView的运用

下面一步步来实现。

首先设计视图,主要设计ListView里面item的显示效果,在layout中创建item.xml文件,如下:

此xml文件定义列表中每个项目的布局,如果想要不同的布局,修改此文件的布局即可。

这个文件中给每个需要在程序中动态赋值的地方都取了id,看到后面的代码时,注意对应关系。

?

然后是适配器和数据,这两个联系比较紧密,就放一起了。

先上代码:

mAdapter = new SimpleAdapter(this, pictureList, R.layout.picturelist, mFrom, mTo){@Override  public View getView(final int position, View convertView, ViewGroup parent) {View view = super.getView(position, convertView, parent);@SuppressWarnings("unchecked")final HashMap<String,Object> map = (HashMap<String, Object>) this.getItem(position);ImageView imageView = (ImageView)view.findViewById(R.id.img);FileInputStream fin;try {if(map.get("img") == null){throw new IOException();}fin = getApplicationContext().openFileInput((String) map.get("img"));imageView.setImageDrawable(Drawable.createFromStream(fin, "src"));fin.close();} catch (FileNotFoundException e) {imageView.setImageResource(R.drawable.default);} catch (IOException e) {imageView.setImageResource(R.drawable.default);}return view;}};

?好了,就到这里了。

注:此博客参加“Google 暑期大学生博客分享大赛 - 2011 Android 成长篇”

读书人网 >Android

热点推荐