android listview中多个edittext监听取值 android listviewTextWatcher 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么判断修改的是哪一个呢?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<Map<String, Object>> 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); <span style="color: #FF0000;">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<String, Object> m : list2) { for (String k : m.keySet()) { System.out.println(k + " : " + m.get(k)); } } } } }</span> holder.quanity .addTextChangedListener(new MyTextWatcher(holder)); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); holder.quanity.setTag(position); }这边都已经写死了啊 新手求助 价格7-8k左右!求个硬件配置!编译android源代码! 急!!VideoView播放视频有时会报:此文件不支持渐进式播放 Android OpenGL ES 在线请教各位牛人.这段线程代码怎么改?? 关于QQ的一些疑问 请问如何播放闹铃的铃声 蓝牙聊天源码(改进版) 各位大神,小弟问两个问题哈,麻烦了!积分有限,不好意思! apk静默安装,怎么做? eclipse安卓开发,人事管理系统。 使用Eclipse如何android中加载的HTML中的js代码???
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<Map<String, Object>> 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);
<span style="color: #FF0000;">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<String, Object> m : list2) {
for (String k : m.keySet()) {
System.out.println(k + " : " + m.get(k));
}
}
}
}
}</span>
holder.quanity
.addTextChangedListener(new MyTextWatcher(holder));
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
holder.quanity.setTag(position);
}
这边都已经写死了啊