Adapter详解 (二)

2014-11-24 10:26:37 · 作者: · 浏览: 2
"google 2");
map.put("img", R.drawable.i2);
list.add(map);
//添加第三个Map数据
map = new HashMap();
map.put("title", "G3");
map.put("info", "google 3");
map.put("img", R.drawable.i3);
list.add(map);
return list; //返回List数据
}
@verride
protected void onListItemClicked(ListView 1,View v,int position,long id){
Log.v("MyListView4_click",(String)mData.get(position).get("title"));
}
public void showInfo(){
new AlertDiolog.Builder(this)
.setTitle("MyListView")
.setMessage(Introduce)
.setPositiveButton("Ensure",new DialogInterface.OnClickListener()
{@Override
public void onClick(DialogInterface dialog,int which){} }).show();
}
}
private final class ViewHolder{
public ImageView img;
public TextView title;
public TextView info;
public Button viewBu;
}
public class MyAdapter extens BaseAdapter{
private LayoutInlfater myInflater;
public MyAdapter(Context context){
this.myInflater=LayoutInflater.from(context);
}
@Override
public int getCount(){
return mDate.size();}
@Override
public long getItemId(int position){
return null;}
@Override
public Object getItmeId(int position){
return 0;}
@Override
public View getview(int position,View convertView,ViewGroup parent){
ViewHolder holder=null;
if(convertView==null){
holder=new ViewHolder();
convertView=mInflater.inflate(R.layout.list,null)
//inflate函数有两个参数--解析界面布局
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.viewBu=(TextView)convertView.indViewById(R.id.viewBu);
convertView.setTag(holder);
}else{holder=(ViewHolder)convertViewgetTag();}
holder.img.setBackgroundResounce((Integer)mDate.get(position).get("img"));
holder.title.setText((String)mdata.get(position).get("title"));
holder.info.setText((String)mData.get(position).get("info"));
holder.viewBu.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
showInfo(); }
});

return convertView;
}
}
}

public MyListView extensds Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInsatnceState);
mDate=getDate();
MyAdapter myadapter=new MyAdapter(this);
ListView list=(ListView)findById(R.id.myList);
setAdapter(myadapter);
}
private List> getData() {
List> list = new ArrayList>();
Map map = new HashMap();
map.put("title", "G1");
map.put("info", "google 1");
map.put("img", R.drawable.i1);
list.add(map);
//添加第二个Map数据
map = new HashMap();
map.put("title", "G2");
map.put("info", "google 2");
map.put("img", R.drawable.i2);
list.add(map);
//添加第三个Map数据
map = new HashMap();
map.put("title", "G3");
map.put("info", "google 3");
map.put("img", R.drawable.i3);
list.add(map);
return list; //返回List数据
}
@verride
protected void onListItemClicked(ListView 1,View v,int position,long id){
Log.v("MyListView4_cl