当前位置: 移动技术网 > IT编程>移动开发>Android > Android BaseAdapter应用实例

Android BaseAdapter应用实例

2019年07月24日  | 移动技术网IT编程  | 我要评论

圣影腹黑王子帮,观音桥毕加索,青岛九州医院

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网