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();
}
}