UserLoginItemAdapter.java 3.59 KB
package com.sw.laryngoscope.adapter;

import java.util.List;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.sw.laryngoscope.R;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.db.AccountInfoDB;
import com.sw.laryngoscope.utils.Logger;

public class UserLoginItemAdapter extends BaseAdapter {
	
	private String TAG = getClass().getSimpleName();
	
	private LayoutInflater mInflater;
	
	private OnClickListener mlisten;

	private List<AccountInfoDB> beans;
	
	// 定义Context
	private Context mContext;
	
	public UserLoginItemAdapter(Context c, List<AccountInfoDB> paramArrayList) {
		mContext = c.getApplicationContext();
		mInflater = LayoutInflater.from(c);
		this.beans = paramArrayList;
	}

	public void setBeans(List<AccountInfoDB> beans) {
		this.beans = beans;
	}

	public int getCount() {
		/*Log.d(TAG, "==================" + mImageIds.length);*/
		return beans.size();
	}

	public Object getItem(int position) {
		return position;
	}

	public long getItemId(int position) {
		return position;
	}
	
	public void setUpdateListener(OnClickListener listen) {
		mlisten = listen;
	}
	
	@SuppressLint("ResourceAsColor") 
	public View getView(final int position, View convertView, ViewGroup parent) {
		ViewHolder holder = null; 
		if ( convertView == null ) {
			holder = new ViewHolder();
			convertView = mInflater.inflate(R.layout.item_user_login, null);
			ListView.LayoutParams params = new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT,120);//设置宽度和高度
			convertView.setLayoutParams(params);
			holder.lay_value = (RelativeLayout)convertView.findViewById(R.id.lay_value);
			holder.txt_user_name = (TextView)convertView.findViewById(R.id.txt_user_name);
			holder.img_usertype = (ImageView)convertView.findViewById(R.id.img_usertype);
			holder.txt_usertype = (TextView)convertView.findViewById(R.id.txt_usertype);
			holder.txt_login_status = (TextView)convertView.findViewById(R.id.txt_login_status);
			holder.img_sel = (ImageView)convertView.findViewById(R.id.img_sel);
			convertView.setTag(holder);
		} else {
			holder = (ViewHolder)convertView.getTag();
		}

		AccountInfoDB bean = this.beans.get(position);
		Logger.d(TAG, "---------AccountInfoDB.-------" + bean.getPassword()
				 +  " position " + bean.getName() + "  " + position
				+ " isLogin " + bean.isLogin());

		holder.img_usertype.setImageResource(InitParam.USER_TYPE_RES[bean.getUserType() - 1]);

		holder.txt_usertype.setText(InitParam.USER_TYPE_STR[bean.getUserType() - 1]);

		holder.txt_user_name.setText(bean.getName() + "");

		if ( bean.isLogin() ) {
			holder.txt_login_status.setText(R.string.string_loginin);
		} else {
			holder.txt_login_status.setText("");
		}

		if ( bean.getIsSelect() == 0 ) {
			holder.lay_value.setSelected(false);
			holder.img_sel.setSelected(false);
		} else {
			holder.lay_value.setSelected(true);
			holder.img_sel.setSelected(true);
		}

		return convertView;
	}

	public final class ViewHolder {
		public RelativeLayout lay_value;
		public TextView txt_user_name;
		public ImageView img_usertype;
		public TextView txt_usertype;
		public TextView txt_login_status;
		public ImageView img_sel;
	}
	
	public interface OnClickListener {
        void onClickEvent(int id);
    }
	
}