Java 如何处理用相同id动态实现的复制相同数据的edittext?

Java 如何处理用相同id动态实现的复制相同数据的edittext?,java,android,listview,android-recyclerview,android-edittext,Java,Android,Listview,Android Recyclerview,Android Edittext,我想在这里实现的是,当活动打开时,会出现一个EditText,当我在其中键入内容时,会在其下方生成另一个相同布局的副本,直到我不想再添加列表为止 我试图通过实现RecyclerView来实现它,每次单击EditText我都添加了textchangedlistener以增加Arraylist的大小,Arraylist在RecyclerView中添加了一个布局。 我还通过onCreate方法将数据插入Arraylist,让recyclerview显示第一个EditText 下面给出了onclick方

我想在这里实现的是,当活动打开时,会出现一个
EditText
,当我在其中键入内容时,会在其下方生成另一个相同布局的副本,直到我不想再添加列表为止

我试图通过实现
RecyclerView
来实现它,每次单击
EditText
我都添加了textchangedlistener以增加Arraylist的大小,Arraylist在
RecyclerView
中添加了一个布局。 我还通过
onCreate
方法将数据插入Arraylist,让recyclerview显示第一个
EditText

下面给出了onclick方法的实现

        public void onClick(String edittext_string, final EditText editText, CheckBox checkBox, final list_adapter list_adapter, final View view, final list_adapter.ViewHolder viewHolder) {
    if (view.getId() == R.id.edit_text_list) {
        editText.addTextChangedListener(new TextWatcher() {
          @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                if (position[viewHolder.getAdapterPosition()] != null && position[viewHolder.getAdapterPosition()] == 1)
                    checklist = 1;
                else {
                    checklist = 0;
                }
                if (!editText.getText().toString().isEmpty()) 
                    if (checklist == 0) {
                        list_text = editText.getText().toString();
                        list_entry_model_list.add(new List_Entry_Model(list_text));
                        if (viewHolder.getAdapterPosition() >= 0)
                            position[viewHolder.getAdapterPosition()] = 1;    
                    }

            }
我得到的错误是在所有
EditText
中复制了相同的数据。在下一个动态布局中,将反映在上一个
EditText
中输入的文本。我知道这是一个实现错误。 我想知道这是否是实现这一目标的正确方法?有什么替代方案可以实现这一目标

如何将相同的
edittext
文本添加到自身,而不将其设置为下一个布局

onCreateViewHolder代码

        public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    v = LayoutInflater.from(context).inflate(R.layout.listview_checkbox, parent, false);
    return new ViewHolder(v);
}

我还在学习和学习。如果需要,我会提供额外的代码。谢谢。(这是一个添加列表注释的notes应用程序)

onClick调用了多少次?由于addTextChangeListener可以被多次调用,因此它将被多次执行。请显示您的onCreateViewHolderI我设置了一些条件,以便在每次editText单击时,代码只执行一次。OncreateViewHolder代码在@LenaBru上方提供