/**
*
*/
package coolbuy360.adapter;
import java.util.List;
import java.util.Map;
import coolbuy360.searchhealth.R;
import coolbuy360.service.Util;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
/**
* ��Ա����ʷ�б�������
*
* @author yangxc
*
*/
public class MemberAllergicListAdapter extends SmartAdapter implements
DeleteAbleAdapter {
private List<Map<String, String>> sourceList;
private Context ctx = null;
private LayoutInflater inflater = null;
public MemberAllergicListAdapter(Context context,
List<Map<String, String>> sourcelist) {
// TODO Auto-generated constructor stub
super();
this.sourceList = sourcelist;
this.ctx = context;
inflater = (LayoutInflater) ctx
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if (sourceList != null)
return sourceList.size();
else
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return sourceList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder viewHolder = null;
final int tposition = position;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.member_allergic_listitem,
null);
viewHolder.member_allergic_listitem_txv_date = (TextView) convertView
.findViewById(R.id.member_allergic_listitem_txv_date);
viewHolder.member_allergic_listitem_txv_allergen = (TextView) convertView
.findViewById(R.id.member_allergic_listitem_txv_allergen);
viewHolder.member_allergic_listitem_txv_symptom = (TextView) convertView
.findViewById(R.id.member_allergic_listitem_txv_symptom);
viewHolder.member_allergic_listitem_btn_del = (Button) convertView
.findViewById(R.id.member_allergic_listitem_btn_del);
viewHolder.member_allergic_listitem_btn_del
.setVisibility(View.GONE);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
Map<String, String> itemmap = sourceList.get(position);
viewHolder.member_allergic_listitem_txv_date.setText(Util
.getDateFormat(itemmap.get("occurrencetime"),
"yyyy-MM-dd E"));
viewHolder.member_allergic_listitem_txv_allergen.setText(itemmap.get("allergen"));
viewHolder.member_allergic_listitem_txv_symptom.setText(itemmap.get("symptom"));
final View tview = convertView;
viewHolder.member_allergic_listitem_btn_del
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (onDeleteItemListener != null) {
onDeleteItemListener.onDeleteItem(tview, tposition);
}
}
});
return convertView;
}
private class ViewHolder {
TextView member_allergic_listitem_txv_date;
TextView member_allergic_listitem_txv_allergen;
TextView member_allergic_listitem_txv_symptom;
Button member_allergic_listitem_btn_del;
}
public void addItem(Map<String, String> item) {
sourceList.add(item);
}
@Override
public void showDeleteButton(View itemview, int position) {
// TODO Auto-generated method stub
ViewHolder viewHolder = (ViewHolder) itemview.getTag();
viewHolder.member_allergic_listitem_btn_del.setVisibility(View.VISIBLE);
}
@Override
public void hideDeleteButton(View itemview, int position) {
// TODO Auto-generated method stub
ViewHolder viewHolder = (ViewHolder) itemview.getTag();
viewHolder.member_allergic_listitem_btn_del.setVisibility(View.GONE);
}
@Override
public void deleteSuccess(View itemview, int position) {
sourceList.remove(position);
hideDeleteButton(itemview, position);
notifyDataSetChanged();
}
}