关于listview或者recyclerview里面的edittext数据保存问题

public class InfoListAdapter extends BaseRecyclerAdapter {
    private Context context;
    private boolean enable;

    public InfoListAdapter(Context context, boolean enable) {
        this.context = context;
        this.enable = enable;
    }

    @Override
    public RecyclerView.ViewHolder onCreate(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(UIUtils.getContext()).inflate(R.layout.yinfo_listitem, parent, false);
        return new ViewHolder(v);
    }

    @Override
    public void onBind(final RecyclerView.ViewHolder viewHolder, int RealPosition, BaseItem data) {
        final SubTaskBean bean = (SubTaskBean) data.getData();
        if (viewHolder instanceof ViewHolder) {
            if (enable) {
                ((ViewHolder) viewHolder).etItem1.setEnabled(false);
                ((ViewHolder) viewHolder).etItem2.setEnabled(false);
                ((ViewHolder) viewHolder).etItem3.setEnabled(false);
                ((ViewHolder) viewHolder).etItem4.setEnabled(false);
                ((ViewHolder) viewHolder).etItem5.setEnabled(false);
                ((ViewHolder) viewHolder).etItem6.setEnabled(false);
                ((ViewHolder) viewHolder).etItem7.setEnabled(true);
                ((ViewHolder) viewHolder).etItem8.setEnabled(true);
                ((ViewHolder) viewHolder).etItem9.setEnabled(true);
                ((ViewHolder) viewHolder).etItem10.setEnabled(true);
                ((ViewHolder) viewHolder).etItem11.setEnabled(true);
                ((ViewHolder) viewHolder).etItem12.setEnabled(true);
                ((ViewHolder) viewHolder).etItem13.setEnabled(true);
            } else {
                ((ViewHolder) viewHolder).etItem1.setEnabled(false);
                ((ViewHolder) viewHolder).etItem2.setEnabled(false);
                ((ViewHolder) viewHolder).etItem3.setEnabled(false);
                ((ViewHolder) viewHolder).etItem4.setEnabled(false);
                ((ViewHolder) viewHolder).etItem5.setEnabled(false);
                ((ViewHolder) viewHolder).etItem6.setEnabled(false);
                ((ViewHolder) viewHolder).etItem7.setEnabled(false);
                ((ViewHolder) viewHolder).etItem8.setEnabled(false);
                ((ViewHolder) viewHolder).etItem9.setEnabled(false);
                ((ViewHolder) viewHolder).etItem10.setEnabled(false);
                ((ViewHolder) viewHolder).etItem11.setEnabled(false);
                ((ViewHolder) viewHolder).etItem12.setEnabled(false);
                ((ViewHolder) viewHolder).etItem13.setEnabled(false);
            }
             if(bean.getItem7().contains("-")){
                 ((ViewHolder) viewHolder).etItem7.setEnabled(false);
             }else {
                 ((ViewHolder) viewHolder).etItem7.setEnabled(true);
             }
            if(bean.getItem8().contains("-")){
                ((ViewHolder) viewHolder).etItem8.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem8.setEnabled(true);
            }
            if(bean.getItem9().contains("-")){
                ((ViewHolder) viewHolder).etItem9.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem9.setEnabled(true);
            }
            if(bean.getItem10().contains("-")){
                ((ViewHolder) viewHolder).etItem10.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem10.setEnabled(true);
            }
            if(bean.getItem11().contains("-")){
                ((ViewHolder) viewHolder).etItem11.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem11.setEnabled(true);
            }
            if(bean.getItem12().contains("-")){
                ((ViewHolder) viewHolder).etItem12.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem12.setEnabled(true);
            }
            if(bean.getItem13().contains("-")){
                ((ViewHolder) viewHolder).etItem13.setEnabled(false);
            }else {
                ((ViewHolder) viewHolder).etItem13.setEnabled(true);
            }
            ///////////////
            if (((ViewHolder) viewHolder).etItem7.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem7.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem7.getTag()));
            }

            if (((ViewHolder) viewHolder).etItem8.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem8.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem8.getTag()));
            }
            if (((ViewHolder) viewHolder).etItem9.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem9.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem9.getTag()));
            }
            if (((ViewHolder) viewHolder).etItem10.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem10.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem10.getTag()));
            }
            if (((ViewHolder) viewHolder).etItem11.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem11.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem11.getTag()));
            }
            if (((ViewHolder) viewHolder).etItem12.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem12.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem12.getTag()));
            }
            if (((ViewHolder) viewHolder).etItem13.getTag() instanceof TextWatcher) {
                ((ViewHolder) viewHolder).etItem13.removeTextChangedListener((TextWatcher) (((ViewHolder) viewHolder).etItem13.getTag()));
            }

            ((ViewHolder) viewHolder).etItem1.setText(bean.getItem1());
            ((ViewHolder) viewHolder).etItem2.setText(bean.getItem2());
            ((ViewHolder) viewHolder).etItem3.setText(bean.getItem3());
            ((ViewHolder) viewHolder).etItem4.setText(bean.getCreatetime());
            ((ViewHolder) viewHolder).etItem5.setText(bean.getItem5());
            ((ViewHolder) viewHolder).etItem6.setText(bean.getItem6());
            ((ViewHolder) viewHolder).etItem7.setText(bean.getItem7());
            ((ViewHolder) viewHolder).etItem8.setText(bean.getItem8());
            ((ViewHolder) viewHolder).etItem9.setText(bean.getItem9());
            ((ViewHolder) viewHolder).etItem10.setText(bean.getItem10());
            ((ViewHolder) viewHolder).etItem11.setText(bean.getItem11());
            ((ViewHolder) viewHolder).etItem12.setText(bean.getItem12());
            ((ViewHolder) viewHolder).etItem13.setText(bean.getItem13());

            TextWatcher watcher1 = new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void afterTextChanged(Editable editable) {
                    if (ConfirmDataType.isNumber(editable.toString())) {
                        bean.setItem7(editable.toString());
                        bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        bean.setKey(bean.getKey());
                        ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                    }
                }
            };

            TextWatcher watcher2 = new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void afterTextChanged(Editable editable) {
                    if (ConfirmDataType.isNumber(editable.toString())) {
                        bean.setItem8(editable.toString());
                        bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        bean.setKey(bean.getKey());
                        DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                    }
                }
            };
              TextWatcher watcher3=new TextWatcher() {
                  @Override
                  public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                  }

                  @Override
                  public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                  }

                  @Override
                  public void afterTextChanged(Editable editable) {
                      if (ConfirmDataType.isNumber(editable.toString())) {
                          bean.setItem9(editable.toString());
                          bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                  format(new Date(System.currentTimeMillis())));
                          bean.setKey(bean.getKey());
                          ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                  format(new Date(System.currentTimeMillis())));
                          DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                      }
                  }
              };
           TextWatcher watcher4=new TextWatcher() {
               @Override
               public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

               }

               @Override
               public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

               }

               @Override
               public void afterTextChanged(Editable editable) {
                   if (ConfirmDataType.isNumber(editable.toString())) {
                       bean.setItem10(editable.toString());
                       bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                               format(new Date(System.currentTimeMillis())));
                       bean.setKey(bean.getKey());
                       ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                               format(new Date(System.currentTimeMillis())));
                       DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                   }
               }
           };
            TextWatcher watcher5=new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                }

                @Override
                public void afterTextChanged(Editable editable) {
                    if (ConfirmDataType.isNumber(editable.toString())) {
                        bean.setItem11(editable.toString());
                        bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        bean.setKey(bean.getKey());
                        ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                format(new Date(System.currentTimeMillis())));
                        DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                    }
                }
            };

             TextWatcher watcher6=new TextWatcher() {
                 @Override
                 public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                 }

                 @Override
                 public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                 }

                 @Override
                 public void afterTextChanged(Editable editable) {
                     if (ConfirmDataType.isNumber(editable.toString())) {
                         bean.setItem12(editable.toString());
                         bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                 format(new Date(System.currentTimeMillis())));
                         bean.setKey(bean.getKey());
                         ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                                 format(new Date(System.currentTimeMillis())));
                         DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                     }
                 }
             };
           TextWatcher watcher7=new TextWatcher() {
               @Override
               public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

               }

               @Override
               public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

               }

               @Override
               public void afterTextChanged(Editable editable) {
                   if (ConfirmDataType.isNumber(editable.toString())) {
                       bean.setItem13(editable.toString());
                       bean.setCreatetime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                               format(new Date(System.currentTimeMillis())));
                       bean.setKey(bean.getKey());
                       ((ViewHolder) viewHolder).etItem4.setText(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
                               format(new Date(System.currentTimeMillis())));
                       DbSubtask.getInstance(UIUtils.getContext()).add(bean);
                   }
               }
           };
            ((ViewHolder) viewHolder).etItem7.addTextChangedListener(watcher1);
            ((ViewHolder) viewHolder).etItem7.setTag(watcher1);
            ((ViewHolder) viewHolder).etItem8.addTextChangedListener(watcher2);
            ((ViewHolder) viewHolder).etItem8.setTag(watcher2);
            ((ViewHolder) viewHolder).etItem9.addTextChangedListener(watcher3);
            ((ViewHolder) viewHolder).etItem9.setTag(watcher3);
            ((ViewHolder) viewHolder).etItem10.addTextChangedListener(watcher4);
            ((ViewHolder) viewHolder).etItem10.setTag(watcher4);
            ((ViewHolder) viewHolder).etItem11.addTextChangedListener(watcher5);
            ((ViewHolder) viewHolder).etItem11.setTag(watcher5);
            ((ViewHolder) viewHolder).etItem12.addTextChangedListener(watcher6);
            ((ViewHolder) viewHolder).etItem12.setTag(watcher6);
            ((ViewHolder) viewHolder).etItem13.addTextChangedListener(watcher7);
            ((ViewHolder) viewHolder).etItem13.setTag(watcher7);
        }
    }

    static class ViewHolder extends RecyclerView.ViewHolder {
        @InjectView(R.id.etItem1)
        EditText etItem1;
        @InjectView(R.id.etItem2)
        EditText etItem2;
        @InjectView(R.id.etItem3)
        EditText etItem3;
        @InjectView(R.id.etItem4)
        EditText etItem4;
        @InjectView(R.id.etItem5)
        EditText etItem5;
        @InjectView(R.id.etItem6)
        EditText etItem6;
        @InjectView(R.id.etItem7)
        EditText etItem7;
        @InjectView(R.id.etItem8)
        EditText etItem8;
        @InjectView(R.id.etItem9)
        EditText etItem9;
        @InjectView(R.id.etItem10)
        EditText etItem10;
        @InjectView(R.id.etItem11)
        EditText etItem11;
        @InjectView(R.id.etItem12)
        EditText etItem12;
        @InjectView(R.id.etItem13)
        EditText etItem13;

        ViewHolder(View view) {
            super(view);
            ButterKnife.inject(this, view);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/U__F_O/article/details/76735299