編輯:關於Android編程
本文實例講述了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程序設計有所幫助。
Android自定義View——仿vivo i管家病毒掃描動畫效果
技術是永無止境的,如果真的愛技術,那就勇敢的堅持下去。我很喜歡這句話,當我在遇到問題的時候、當我覺得代碼枯燥的時候,我就會問自己,到底是不是真的熱愛技術,這個時候,我心裡
Android 教你親手打造酷炫的彈幕效果
公司的新產品上線需要添加的彈幕功能,於是花了一天時間寫了一個Demo。效果實現如下:一開始的思路是:1、首先實現一個自定義的Layout,在其中獲得需要展示的彈幕數組,每
Android進階 — GitHub開源控件的使用合集
1、QuantityView 類似購物車數量調節:效果圖:項目在GitHub上的地址:https://github.com/himanshu-soni/QuantityV
android Handler詳細使用方法實例
開發環境為android4.1.Handler使用例1這個例子是最簡單的介紹handler使用的,是將handler綁定到它所建立的線程中.本次實驗完成的功能是:單擊St