Android BaseAdapter應(yīng)用實(shí)例
更新時間:2016年01月16日 10:04:44 作者:hshm20517
這篇文章主要介紹了Android BaseAdapter應(yīng)用方法,結(jié)合生成聯(lián)系人Items的實(shí)例形式分析了BaseAdapter的使用技巧,需要的朋友可以參考下
本文實(shí)例講述了Android BaseAdapter的應(yīng)用方法。分享給大家供大家參考,具體如下:
直接上源碼
/**
* 生成聯(lián)系人Items,即Items中包含如下控件
*
*/
public final class ViewHolder{
public ImageView callImg;//打電話的圖標(biāo)
public ImageView headImg;//頭像
public TextView peopleName;//聯(lián)系人名
public TextView peopleNumber;//聯(lián)系人號碼
}
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;//當(dāng)初在看別人例子時,此處返回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中控件的觸發(fā)事件
}
});
return convertView;
}
}
/*
*應(yīng)用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程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- 學(xué)習(xí)Android自定義Spinner適配器
- 舉例講解Android應(yīng)用中SimpleAdapter簡單適配器的使用
- Android編程中常用適配器及自定義適配器用法實(shí)例分析
- Android中 自定義數(shù)據(jù)綁定適配器BaseAdapter的方法
- Android列表實(shí)現(xiàn)(3)_自定義列表適配器思路及實(shí)現(xiàn)代碼
- Android控件系列之相冊Gallery&Adapter適配器入門&控件縮放動畫入門
- Android中BaseAdapter的用法分析與理解
- Android中BaseAdapter用法示例
- Android之ListView分頁加載數(shù)據(jù)功能實(shí)現(xiàn)代碼
- Android之自定義實(shí)現(xiàn)BaseAdapter(通用適配器二)
相關(guān)文章
android開發(fā)設(shè)計(jì)模式之——單例模式詳解
本篇文章主要介紹了android開發(fā)設(shè)計(jì)模式之——單例模式詳解,具有一定的參考價值,有需要的可以了解一下。2016-11-11
Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡單的原理
LOG是廣泛使用的用來記錄程序執(zhí)行過程的機(jī)制,它既可以用于程序調(diào)試,也可以用于產(chǎn)品運(yùn)營中的事件記錄;在平時開發(fā)過程中經(jīng)常需要與log打交道,所以很有必要了解log的使用方法及簡單的原理,感興趣的朋友可以了解下啊2013-01-01
Android使用acoco統(tǒng)計(jì)代碼行覆蓋率介紹
大家好,本篇文章主要講的是Android使用acoco統(tǒng)計(jì)代碼行覆蓋率介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
TabLayout實(shí)現(xiàn)ViewPager指示器的方法
這篇文章主要為大家詳細(xì)介紹了TabLayout實(shí)現(xiàn)ViewPager指示器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
Android Studio 創(chuàng)建自定義控件的方法
這篇文章主要介紹了Android Studio 創(chuàng)建自定義控件的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Android動態(tài)添加設(shè)置布局與控件的方法
這篇文章主要介紹了Android動態(tài)添加設(shè)置布局與控件的方法,涉及Android中布局與控件的相關(guān)操作技巧,需要的朋友可以參考下2016-01-01

