package com.overwrite;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SimpleAdapter;
import com.android.R;
public class AddMinAdapter extends SimpleAdapter {
private LayoutInflater mInflater;
private int resource;
private List<Map<String, String>> mData;
public AddMinAdapter(Context _context, List<Map<String, String>> _data,
int _resource, String[] _from, int[] _to) {
super(_context, _data, _resource, _from, _to);
mInflater = LayoutInflater.from(_context);
this.mData = _data;
this.resource = _resource;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(resource, null);
holder.addBut = (Button) convertView.findViewById(R.id.addbutton);
holder.minBut = (Button) convertView.findViewById(R.id.minbutton);
holder.number = (EditText) convertView.findViewById(R.id.number);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.number.setText(mData.get(position).get("number"));
holder.addBut.setOnClickListener(new addButOnclick(position, mData, convertView));
holder.minBut.setOnClickListener(new minButOnclick(position, mData, convertView));
return convertView;
}
/**
* 添加事件
*/
class addButOnclick implements OnClickListener {
int position = 0;
List<Map<String, String>> data;
View convertView;
public addButOnclick(int _position, List<Map<String, String>> _data, View _convertView) {
this.position = _position;
this.data = _data;
this.convertView = _convertView;
}
public void onClick(View v) {
EditText number = (EditText) convertView.findViewById(R.id.number);
number.setText((Integer.parseInt(number.getText() + "") + 1) + "");
data.get(position).put("number", (Integer.parseInt(data.get(position).get("number")+"")+1)+"");
}
}
/**
* 减法事件
*/
class minButOnclick implements OnClickListener {
int position = 0;
List<Map<String, String>> data;
View convertView;
public minButOnclick(int _position, List<Map<String, String>> _data, View _convertView) {
this.position = _position;
this.data = _data;
this.convertView = _convertView;
}
public void onClick(View v) {
EditText number = (EditText) convertView.findViewById(R.id.number);
int num = Integer.parseInt(number.getText() + "");
if (num > 1) {
number.setText((num - 1) + "");
data.get(position).put("number", (Integer.parseInt(data.get(position).get("number")+"")-1)+"");
}
}
}
public class ViewHolder {
public Button addBut;
public Button minBut;
public EditText number;
}
}
评论3
最新资源