android listview中多个edittext监听取值
如题,一个edittext可以成功取值,那么多个怎么监听,求大神指教!
public final class ViewHolder {
public TextView in_goods_id;
public TextView goodsName;
public EditText quanity;
public EditText produtionDate;
public EditText location;
public EditText batch;
}
public class MyAdapter extends BaseAdapter {
private LayoutInflater flater;
public MyAdapter(Context context,List> data) {
super();
this.flater = LayoutInflater.from(context);
}
public int getCount() {
// TODO Auto-generated method stub
return list2.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
private Integer index = -1;
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = flater.inflate(R.layout.in_goods_list, null);
holder.in_goods_id = (TextView) convertView
.findViewById(R.id.in_goods_id);
holder.goodsName = (TextView) convertView
.findViewById(R.id.goodsName);
holder.quanity = (EditText) convertView
.findViewById(R.id.quanity);
holder.produtionDate = (EditText) convertView
.findViewById(R.id.produtionDate);
holder.location = (EditText) convertView
.findViewById(R.id.location);
holder.batch = (EditText) convertView.findViewById(R.id.batch);
holder.quanity.setTag(position);
holder.quanity.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_UP) {
index = (Integer) view.getTag();
}
return false;
}
});
class MyTextWatcher implements TextWatcher {
public MyTextWatcher(ViewHolder holder) {
mHolder = holder;
}
private ViewHolder mHolder;
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if (s != null && !"".equals(s.toString())) {
int position = (Integer) mHolder.quanity.getTag();
list2.get(position).put("quanity", s.toString());// 当EditText数据发生改变的时候存到data变量中
for (Map m : list2) {
for (String k : m.keySet()) {
System.out.println(k + " : " + m.get(k));
}
}
}
}
}
holder.quanity
.addTextChangedListener(new MyTextWatcher(holder));
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
holder.quanity.setTag(position);
}
------解决思路----------------------
能取一个难道不能取多个?
------解决思路----------------------
他们id是不一样的啊
------解决思路----------------------
mHolder.quanity不就是edit吗?