Android BaseAdapter应用实例
本文实例讲述了AndroidBaseAdapter的应用方法。分享给大家供大家参考,具体如下:
直接上源码
/** *生成联系人Items,即Items中包含如下控件 * */ publicfinalclassViewHolder{ publicImageViewcallImg;//打电话的图标 publicImageViewheadImg;//头像 publicTextViewpeopleName;//联系人名 publicTextViewpeopleNumber;//联系人号码 } publicclassMyAdapterextendsBaseAdapter{ privateLayoutInflatermInflater; publicMyAdapter(Contextcontext){ this.mInflater=LayoutInflater.from(context); } publicintgetCount(){ returnlistPeople.size(); } publicObjectgetItem(intarg0){ returnlistPeople.get(arg0); } publiclonggetItemId(intarg0){ returnarg0;//当初在看别人例子时,此处返回NUll,加载都没问题,但在ListView中的OnItemsClick事件中就报错了。 } publicViewgetView(finalintposition,ViewconvertView, ViewGroupparent){ ViewHolderholder=null; if(convertView==null){ holder=newViewHolder(); convertView=mInflater.inflate(R.layout.peopleinfo,null); holder.callImg=(ImageView)convertView .findViewById(R.id.callbtn); holder.headImg=(ImageView)convertView .findViewById(R.id.contactImage); holder.peopleName=(TextView)convertView .findViewById(R.id.peopleName); holder.peopleNumber=(TextView)convertView .findViewById(R.id.peopleNumber); convertView.setTag(holder); }else{ holder=(ViewHolder)convertView.getTag(); } finalStringname=(String)listPeople.get(position).get( "peopleName"); finalStringnum=(String)listPeople.get(position).get( "peopleNumber"); holder.peopleName.setText((String)listPeople.get(position).get( "peopleName")); holder.peopleNumber.setText((String)listPeople.get(position).get( "peopleNumber")); //holder.headImg.setImageResource(R.drawable.ic_menu_contact); if(listPeople.get(position).get("peoplePhoto")!=null){ holder.headImg.setImageBitmap((Bitmap)listPeople.get(position).get( "peoplePhoto")); } holder.callImg.setImageResource(R.drawable.ic_dial_action_call); holder.callImg.setOnClickListener(newView.OnClickListener(){ publicvoidonClick(Viewv){ //处理Items中控件的触发事件 } }); returnconvertView; } } /* *应用BaseAdapter * */ finalMyAdaptermyAdapter=newMyAdapter(this); contacts.setAdapter(myAdapter); contacts.setOnItemClickListener(newOnItemClickListener(){ @SuppressWarnings("unchecked") publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2, longarg3){ Map<String,Object>map=(Map<String,Object>)myAdapter.getItem(arg2);//此处需要注意, StringpeopleNumber=String.valueOf(map.get("peopleNumber")); } });
希望本文所述对大家Android程序设计有所帮助。