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上方提供