/** * */ package coolbuy360.adapter; import java.util.List; import java.util.Map; import java.util.Vector; import coolbuy360.searchhealth.R; import coolbuy360.service.Util; import android.app.Dialog; import android.content.Context; import android.opengl.Visibility; import android.view.GestureDetector; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; /** * ��Ա����ʷ������ * @author yangxc * */ public class MemberDiseaseListAdapter extends SmartAdapter implements DeleteAbleAdapter { /*private final GestureDetector detector;*/ private List<Map<String, String>> sourceList; private Context ctx = null; private LayoutInflater inflater = null; /*FlingListeber listener;*/ public MemberDiseaseListAdapter(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); /*listener = new FlingListeber(); detector = new GestureDetector(listener);*/ } @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_disease_listitem, null); viewHolder.member_disease_listitem = (LinearLayout) convertView .findViewById(R.id.member_disease_listitem); viewHolder.member_disease_listitem_txv_date = (TextView) convertView .findViewById(R.id.member_disease_listitem_txv_date); viewHolder.member_disease_listitem_txv_name = (TextView) convertView .findViewById(R.id.member_disease_listitem_txv_name); viewHolder.member_disease_listitem_btn_del = (Button) convertView .findViewById(R.id.member_disease_listitem_btn_del); viewHolder.member_disease_listitem_btn_del.setVisibility(View.GONE); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } Map<String, String> itemmap = sourceList.get(position); viewHolder.member_disease_listitem_txv_date.setText(Util.getDateFormat( itemmap.get("diagnosetime"), "yyyy-MM-dd E")); viewHolder.member_disease_listitem_txv_name.setText(itemmap.get("diseasename")); final View tview = convertView; viewHolder.member_disease_listitem_btn_del.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub /*Dialog dialog = new Dialog(ctx); dialog.setTitle("btn���"); dialog.setCanceledOnTouchOutside(true); dialog.show();*/ 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; } private class ViewHolder { TextView member_disease_listitem_txv_date; TextView member_disease_listitem_txv_name; Button member_disease_listitem_btn_del; LinearLayout member_disease_listitem; } 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_disease_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_disease_listitem_btn_del.setVisibility(View.GONE); } @Override public void deleteSuccess(View itemview, int position) { sourceList.remove(position); hideDeleteButton(itemview, position); notifyDataSetChanged(); } /*class FlingListeber implements GestureDetector.OnGestureListener{ Map<String, String> item; ViewHolder holder; public Map<String, String> getItem() { return item; } public void setItem(Map<String, String> item) { this.item = item; } public ViewHolder getHolder() { return holder; } public void setHolder(ViewHolder holder) { this.holder = holder; } @Override public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub if(e2.getX()-e1.getX()>20){ Dialog dialog = new Dialog(ctx); dialog.setTitle("��"+item.get("diseasename")); dialog.setCanceledOnTouchOutside(true); dialog.show(); Toast.makeText(ctx, "��"+item.get("diseasename"), 3000).show(); }else if(e1.getX()-e2.getX()>20){ Dialog dialog = new Dialog(ctx); dialog.setTitle("�һ�"+item.get("diseasename")); dialog.setCanceledOnTouchOutside(true); dialog.show(); Toast.makeText(ctx, "�һ�"+item.get("diseasename"), 3000).show(); } return false; } @Override public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub Dialog dialog = new Dialog(ctx); dialog.setTitle("���"+item.get("diseasename")); dialog.setCanceledOnTouchOutside(true); dialog.show(); Toast.makeText(ctx, "���item", 3000).show(); return false; } }*/ }