首页 > 解决方案 > 如何处理使用复制相同数据的相同ID动态实现的edittext?

问题描述

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

我试图通过实现来实现它,RecyclerView并且在每次单击时EditText我都添加了 textchangedlistener 以增加 Arraylist 的大小,从而在recyclerview. 我还在 Arraylist on 方法中插入了数据onCreate,让 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;    
                    }

            }

我得到的错误是所有 .in 中都复制了相同的数据EditTexts。在下一个动态布局中,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);
}

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

标签: javaandroidlistviewandroid-recyclerviewandroid-edittext

解决方案


推荐阅读