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.LinearLayout; import android.widget.TextView; public class MemberHealthFootprintListAdapter extends SmartAdapter implements DeleteAbleAdapter { /*private final GestureDetector detector;*/ private List<Map<String, String>> sourceList; private Context ctx = null; private LayoutInflater inflater = null; public int count; /*FlingListeber listener;*/ public MemberHealthFootprintListAdapter(Context context,List<Map<String, String>> sourcelist) { //super(); this.sourceList = sourcelist; this.ctx = context; inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (sourceList != null) count= sourceList.size(); else count= 0; } @Override public int getCount() { 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 position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; final int tposition = position; if (convertView == null) { viewHolder = new ViewHolder(); convertView = inflater.inflate(R.layout.member_footprint_listitem, null); viewHolder.member_footprint_listitem = (LinearLayout) convertView .findViewById(R.id.member_footprint_listitem); viewHolder.member_footprint_listitem_txv_date = (TextView) convertView .findViewById(R.id.member_footprint_listitem_txv_date); viewHolder.member_footprint_listitem_txv_name = (TextView) convertView .findViewById(R.id.member_footprint_listitem_txv_summarize); viewHolder.member_footprint_listitem_btn_del = (Button) convertView .findViewById(R.id.member_footprint_listitem_btn_del); viewHolder.member_footprint_listitem_btn_del.setVisibility(View.GONE); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } Map<String, String> itemmap = sourceList.get(position); viewHolder.member_footprint_listitem_txv_date.setText(Util.getDateFormat( itemmap.get("eventtime"), "yyyy-MM-dd E")); viewHolder.member_footprint_listitem_txv_name.setText(itemmap.get("summarize")); final View tview = convertView; viewHolder.member_footprint_listitem_btn_del.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(onDeleteItemListener!=null){ onDeleteItemListener.onDeleteItem(tview, tposition); } } }); /*final Map<String, String> item = sourceList.get(position); listener.setItem(item); listener.setHolder(viewHolder);*/ //holder.llItem.setOnTouchListener(new SwipeListener(holder,item)); /*viewHolder.member_disease_listitem.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return detector.onTouchEvent(event); } }); */ return convertView; } public void addItem(Map<String, String> item) { sourceList.add(item); } private class ViewHolder { TextView member_footprint_listitem_txv_date; TextView member_footprint_listitem_txv_name; Button member_footprint_listitem_btn_del; LinearLayout member_footprint_listitem; } @Override public void showDeleteButton(View itemview, int position) { // TODO Auto-generated method stub ViewHolder viewHolder = (ViewHolder) itemview.getTag(); viewHolder.member_footprint_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_footprint_listitem_btn_del.setVisibility(View.GONE); } @Override public void deleteSuccess(View itemview, int position) { sourceList.remove(position); hideDeleteButton(itemview, position); notifyDataSetChanged(); } }