Welcome 微信登录

首页 / 移动开发 / Android / Android BaseAdapter应用实例

本文实例讲述了Android BaseAdapter的应用方法。分享给大家供大家参考,具体如下:
直接上源码
/*** 生成联系人Items,即Items中包含如下控件**/public final class ViewHolder{public ImageView callImg;//打电话的图标public ImageView headImg;//头像public TextView peopleName;//联系人名public TextView peopleNumber;//联系人号码}public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; public MyAdapter(Context context) {this.mInflater = LayoutInflater.from(context); } public int getCount() { return listPeople.size(); } public Object getItem(int arg0) { return listPeople.get(arg0); } public long getItemId(int arg0) {return arg0;//当初在看别人例子时,此处返回NUll,加载都没问题,但在ListView中的OnItemsClick事件中就报错了。 } public View getView(final int position, View convertView,ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {holder = new ViewHolder();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();}final String name = (String) listPeople.get(position).get( "peopleName");final String num = (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(new View.OnClickListener() {public void onClick(View v) {//处理Items中控件的触发事件}});return convertView; } }/**应用BaseAdapter**/final MyAdapter myAdapter = new MyAdapter(this);contacts.setAdapter(myAdapter);contacts.setOnItemClickListener(new OnItemClickListener() {@SuppressWarnings("unchecked")public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Map<String, Object> map = (Map<String, Object>) myAdapter.getItem(arg2);//此处需要注意, String peopleNumber = String.valueOf(map.get("peopleNumber"));}});
希望本文所述对大家Android程序设计有所帮助。