package com.jiuqi.njt.adapter;
import java.util.ArrayList;
import com.jiuqi.njt.R;
import com.jiuqi.njt.widget.DialogWithList;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.TextView;
/**
* 带单选按钮的list适配器
* @author Administrator
*
*/
public class SpinnerAdaper extends BaseAdapter {
private ArrayList<String> dataList;
private LayoutInflater mInflater;
private DialogInterface.OnClickListener itemClick;
private DialogWithList dialog ;
public SpinnerAdaper(Context context, ArrayList<String> dataList,DialogWithList dialog ) {
super();
this.dataList = dataList;
mInflater = LayoutInflater.from(context);
this.dialog = dialog;
}
public void setItemClick(DialogInterface.OnClickListener itemClick) {
this.itemClick = itemClick;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return dataList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return dataList.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) {
// TODO Auto-generated method stub
final ViewHolder holder;
// convertView为null的时候初始化convertView。
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.spinner_item_new, null);
holder.message = (TextView) convertView.findViewById(R.id.message);
holder.cBox = (CheckBox) convertView.findViewById(R.id.checkBox);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.message.setText(dataList.get(position).toString());
holder.cBox.setChecked(false);
final int index= position;
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
holder.cBox.setChecked(true);
holder.cBox.setClickable(true);
itemClick.onClick(dialog, index);
}
});
holder.cBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
itemClick.onClick(dialog, index);
}
});
return convertView;
}
public final class ViewHolder {
public TextView message;
public CheckBox cBox;
}
}