解决方案 »

  1.   

    怎么判断修改的是哪一个呢?
    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);
     
                }
    这边都已经写死了啊