package com.wise.extend; import java.util.ArrayList; import java.util.List; import com.wise.wawc.R; import android.content.Context; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public abstract class AbstractSpinerAdapter<T> extends BaseAdapter { public static int type = 0; public static interface IOnItemSelectListener{ public void onItemClick(int pos,int type); }; private Context mContext; private List<T> mObjects = new ArrayList<T>(); private int mSelectItem = 0; private LayoutInflater mInflater; public AbstractSpinerAdapter(Context context){ init(context); } public void refreshData(List<T> objects, int selIndex){ mObjects = objects; if (selIndex < 0){ selIndex = 0; } if (selIndex >= mObjects.size()){ selIndex = mObjects.size() - 1; } mSelectItem = selIndex; } private void init(Context context) { mContext = context; mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return mObjects.size(); } @Override public Object getItem(int pos) { return mObjects.get(pos).toString(); } @Override public long getItemId(int pos) { return pos; } @Override public View getView(int pos, View convertView, ViewGroup arg2) { ViewHolder viewHolder; if (convertView == null) { convertView = mInflater.inflate(R.layout.spiner_item_layout, null); viewHolder = new ViewHolder(); viewHolder.mTextView = (TextView) convertView.findViewById(R.id.textView); viewHolder.mTextView.setGravity(Gravity.CENTER); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } String item = (String) getItem(pos); viewHolder.mTextView.setText(item); return convertView; } public static class ViewHolder { public TextView mTextView; } public void refreshDatas(){ AbstractSpinerAdapter.this.notifyDataSetChanged(); } }