class
customAdapter
extends
BaseAdapter {
private
List<Map<String, Object>> dataList;
private
LayoutInflater mInflater;
private
Context context;
private
String[] keyString;
private
int
[] valueViewID;
Holder holder;
public
customAdapter(Context context,
List<Map<String, Object>> dataList,
int
resource,
String[] from,
int
[] to) {
this
.dataList = dataList;
this
.context = context;
mInflater = (LayoutInflater)
this
.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
keyString =
new
String[from.length];
valueViewID =
new
int
[to.length];
System.arraycopy(from,
0
, keyString,
0
, from.length);
System.arraycopy(to,
0
, valueViewID,
0
, to.length);
}
@Override
public
int
getCount() {
return
dataList.size();
}
@Override
public
Object getItem(
int
position) {
return
dataList.get(position);
}
@Override
public
long
getItemId(
int
position) {
return
position;
}
public
void
removeItem(
int
position) {
dataList.remove(position);
this
.notifyDataSetChanged();
}
public
View getView(
int
position, View convertView, ViewGroup parent) {
if
(convertView !=
null
) {
holder = (Holder) convertView.getTag();
}
else
{
convertView = mInflater.inflate(R.layout.contactdetailtemplate,
null
);
holder =
new
Holder();
holder.chkContactUser = (CheckBox) convertView
.findViewById(valueViewID[
0
]);
holder.imgUserPhoto = (ImageView) convertView
.findViewById(valueViewID[
1
]);
holder.labUserName = (TextView) convertView
.findViewById(valueViewID[
2
]);
holder.labPhoneNumber = (TextView) convertView
.findViewById(valueViewID[
3
]);
holder.btnDail = (Button) convertView
.findViewById(valueViewID[
4
]);
convertView.setTag(holder);
}
Map<String, Object> appInfo = dataList.get(position);
if
(appInfo !=
null
) {
String userName = appInfo.get(keyString[
1
]).toString();
String userPhoneNumber = appInfo.get(keyString[
2
]) ==
null
?
""
: appInfo.get(keyString[
2
]).toString();
Bitmap userPhoto = (Bitmap) appInfo.get(keyString[
0
]);
holder.labUserName.setText(userName);
holder.labPhoneNumber.setText(userPhoneNumber);
holder.imgUserPhoto.setImageBitmap(userPhoto);
holder.btnDail.setOnClickListener(
new
ViewButtonListener(
position, holder.chkContactUser));
}
return
convertView;
}
}
class
Holder {
public
TextView labUserName;
public
TextView labPhoneNumber;
public
ImageView imgUserPhoto;
public
Button btnDail;
public
CheckBox chkContactUser;
}