读书人

listView运用

发布时间: 2012-07-24 17:47:58 作者: rapoo

listView使用

建立listView,然后listView.setAdapter();就行了。

arrayAdapter

simpleAdapter

自定义Adapter继承BaseAdapter或其他。

?

数据与视图的映射在Adapter中完成。

参数对应一般为:

数据与视图

数据内小项与视图内元素对应

?

自定义对应关系如下:

?

?

public final class ViewHolder{
public ImageView img;public TextView title;public TextView info;public Button viewBtn;}
public class MyAdapter extends BaseAdapter{
private LayoutInflater mInflater;public MyAdapter(Context context){this.mInflater = LayoutInflater.from(context);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mData.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {holder=new ViewHolder();  convertView = mInflater.inflate(R.layout.vlist2, null);holder.img = (ImageView)convertView.findViewById(R.id.img);holder.title = (TextView)convertView.findViewById(R.id.title);holder.info = (TextView)convertView.findViewById(R.id.info);holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);convertView.setTag(holder);}else {holder = (ViewHolder)convertView.getTag();}//设置对应关系holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));holder.title.setText((String)mData.get(position).get("title"));holder.info.setText((String)mData.get(position).get("info"));holder.viewBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {showInfo();}});return convertView;}}

?

?

读书人网 >移动开发

热点推荐