在listview的item中使用EditText,刷新后保存数据的方法

class adapter extends BaseAdapter {
        List<String> list;

        public youkexinxi_adapter(List<String> list) {
            this.list = list;
        }

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            return list.get(position);
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            final P p;
            if (convertView == null) {
                convertView = LayoutInflater.from(Ulvxing_luyouxianlu_tianxiedd_01.this).inflate(R.layout.youkexinxi_item, parent, false);
                p = new P();
                p.imageView396 = (ImageView) convertView.findViewById(R.id.imageView396);
                p.imageView397 = (ImageView) convertView.findViewById(R.id.imageView397);

                p.lianxifangshi_edit = (EditText) convertView.findViewById(R.id.lianxifangshi_edit);
                p.zhengjianhaoma_edit = (EditText) convertView.findViewById(R.id.zhengjianhaoma_edit);
                p.name_edit = (EditText) convertView.findViewById(R.id.name_edit);

                p.zhengjianleixing_tv = (TextView) convertView.findViewById(R.id.zhengjianleixing_tv);

                p.hide_relaytout = (LinearLayout) convertView.findViewById(R.id.hide_relaytout);
                p.shengfenzheng = (TextView) convertView.findViewById(R.id.shengfenzheng);
                p.qianzheng = (TextView) convertView.findViewById(R.id.qianzheng);

                p.zhangjianxuanze_1 = (RelativeLayout) convertView.findViewById(R.id.zhangjianxuanze_1);
                convertView.setTag(p);
            } else {
                p = (PPP) convertView.getTag();
            }

            //增加
            p.imageView396.setOnClickListener(new View.OnClickListener() {
                                                  @Override
                                                  public void onClick(View v) {
                                                      if (!p.name_edit.getText().toString().equals("") && !p.zhengjianleixing_tv.getText().toString().equals("") &&
                                                              !p.zhengjianhaoma_edit.getText().toString().equals("") && !p.lianxifangshi_edit.getText().toString().equals("")) {
                                                          list.add("aaa");
                                                          adapter.notifyDataSetChanged();
                                                          listgh.add(new GH("", "", "", ""));
                                                      } else {
                                                          showToast("请填写完整信息");
                                                      }
                                                  }
                                              }
            );
            //删除
            p.imageView397.setOnClickListener(new View.OnClickListener() {
                                                  @Override
                                                  public void onClick(View v) {
                                                      if (list.size() > 1) {
                                                          listgh.remove(position);
                                                          list.remove(position);
                                                          adapter.notifyDataSetChanged();
                                                      }
                                                  }
                                              }
            );
            //点击弹出选证
            p.zhangjianxuanze_1.setOnClickListener(new View.OnClickListener() {
                                                       @Override
                                                       public void onClick(View v) {
                                                           p.hide_relaytout.setVisibility(View.VISIBLE);
                                                       }
                                                   }
            );
            //选择身份证
            p.shengfenzheng.setOnClickListener(new View.OnClickListener() {
                                                   @Override
                                                   public void onClick(View v) {
                                                       p.zhengjianleixing_tv.setText("身份证");
                                                       p.hide_relaytout.setVisibility(View.GONE);
                                                   }
                                               }
            );
            //选择签证
            p.qianzheng.setOnClickListener(new View.OnClickListener() {
                                               @Override
                                               public void onClick(View v) {
                                                   p.zhengjianleixing_tv.setText("签证");
                                                   p.hide_relaytout.setVisibility(View.GONE);
                                               }
                                           }

            );

           //先移除掉监听再处理!!
            if (p.name_edit.getTag() instanceof TextWatcher) {
                p.name_edit.removeTextChangedListener((TextWatcher) p.name_edit.getTag());
            }
            if (p.zhengjianhaoma_edit.getTag() instanceof TextWatcher) {
                p.zhengjianhaoma_edit.removeTextChangedListener((TextWatcher) p.zhengjianhaoma_edit.getTag());
            }
            if (p.lianxifangshi_edit.getTag() instanceof TextWatcher) {
                p.lianxifangshi_edit.removeTextChangedListener((TextWatcher) p.lianxifangshi_edit.getTag());
            }
            p.name_edit.setText(listgh.get(position).getName());
            p.zhengjianhaoma_edit.setText(listgh.get(position).getCard());
            p.lianxifangshi_edit.setText(listgh.get(position).getTel());


            TextWatcher watcher1 = new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }

                @Override
                public void afterTextChanged(Editable s) {
                    listgh.get(position).setName(s.toString());
                }
            };
            TextWatcher watcher2 = new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }

                @Override
                public void afterTextChanged(Editable s) {
                    listgh.get(position).setCard(s.toString());
                }
            };
            TextWatcher watcher3 = new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }

                @Override
                public void afterTextChanged(Editable s) {
                    listgh.get(position).setTel(s.toString());
                }
            };

            //添加名字
            p.name_edit.addTextChangedListener(watcher1);
            p.name_edit.setTag(watcher1);
            //添加证件号码
            p.zhengjianhaoma_edit.addTextChangedListener(watcher2);
            p.zhengjianhaoma_edit.setTag(watcher2);
            //添加联系方式
            p.lianxifangshi_edit.addTextChangedListener(watcher3);
            p.lianxifangshi_edit.setTag(watcher3);

            return convertView;
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值