Как показать ошибку в тексте редактирования в списке повторного просмотра? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь получить свойство edittext, но мне не удалось это сделать. Как я могу сделать это с помощью объекта адаптера.

 public class myAdapter extends RecyclerView.Adapter<myAdapter.MyViewHolder> 
{

    static ArrayList<Model> textlist;
    static ArrayList<EditText> edittest;
    myAdapter(ArrayList<Model> textlist, ArrayList<EditText> edittest)
    {
        this.edittest=edittest;
        myAdapter.textlist =textlist;
    }
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LayoutInflater layoutInflater= LayoutInflater.from(parent.getContext());
        View view = layoutInflater.inflate(R.layout.edit_layout, parent, false);
        return new MyViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {

        holder.text.setHint(textlist.get(position).hint);
        textlist.get(position).setRegex(textlist.get(position).regex);
        textlist.get(position).setName(textlist.get(position).name);
    }

    @Override
    public int getItemCount() {
        return textlist.size();
    }

    static class MyViewHolder extends RecyclerView.ViewHolder{

        EditText text;

        MyViewHolder(@NonNull View itemView) {
            super(itemView);
            text= itemView.findViewById(R.id.edit_text);

            text.addTextChangedListener(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) {

                    textlist.get(getAdapterPosition()).setEdit(text.getText().toString());


                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });


        }

    }

}

Посмотрите на мой класс адаптера, где я создал список массивов для хранения всех значений, но я не смог сохранить свойство Editext в нем.

вот класс модели

package com.example.task2;
import android.widget.EditText;

public class Model {
String hint;
public String name;
String regex;
private String edit;

String getEdit() {
    return edit;
}

void setEdit(String edit) {
    this.edit = edit;
}


Model(String hint, String regex, String name) {
    this.hint = hint;
    this.name = name;
    this.regex = regex;
}

public String getHint() {
    return hint;
}

public void setHint(String hint) {
    this.hint = hint;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

String getRegex() {
    return regex;
}

void setRegex(String regex) {
    this.regex = regex;
}
}

Я пытаюсь получить список текста редактирования в программе просмотра и показать ошибку в тексте редактирования после проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...