Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 删除recyclerview中的edittext值_Android_Android Recyclerview_Android Edittext - Fatal编程技术网

Android 删除recyclerview中的edittext值

Android 删除recyclerview中的edittext值,android,android-recyclerview,android-edittext,Android,Android Recyclerview,Android Edittext,目前:我有一个回收器视图,其中有删除按钮和每个项目的编辑文本 “回收器”视图中的每个项目都包含用户可以输入的编辑文本 该场景是我在列表中有4项,结果是4个编辑文本 当我尝试填写项目(n)中的编辑文本并尝试删除时 删除项目(n)并再次添加。编辑文本中的“编辑文本”值保持不变 如何清除编辑文本的值 以下是我尝试删除列表中特定项目时的当前代码: mHeaderText.remove(pos); ArrayList<Integer> temp = new

目前:我有一个回收器视图,其中有删除按钮和每个项目的编辑文本

“回收器”视图中的每个项目都包含用户可以输入的编辑文本

该场景是我在列表中有4项,结果是4个编辑文本

当我尝试填写项目(n)中的编辑文本并尝试删除时 删除项目(n)并再次添加。编辑文本中的“编辑文本”值保持不变

如何清除编辑文本的值

以下是我尝试删除列表中特定项目时的当前代码:

  mHeaderText.remove(pos);
                ArrayList<Integer> temp  = new ArrayList<Integer>();
                for (int i = 1 ; mHeaderText.size() >= i ; i++) {
                    temp.add(i);
                    Log.d("ADDDING","ADDDING"+i);
                }
                mHeaderText.clear();
                mHeaderText.addAll(temp);
                notifyDataSetChanged();
mHeaderText.remove(位置);
ArrayList temp=新的ArrayList();
对于(int i=1;mHeaderText.size()>=i;i++){
临时添加(i);
日志d(“添加”、“添加”+i);
}
mHeaderText.clear();
mHeaderText.addAll(温度);
notifyDataSetChanged();
使用

清除edittext引用edittext的文本。既然你没有;我没有发布完整的代码,所以我只能对此进行指导。如果你提供更多的代码,那么我可以帮助你更多

试试这段代码。。 在onBindView方法中的适配器类中,当您执行click事件时,然后将edittext值设置为null

edittext.setText(""); 
若你们的编辑文本框在活动布局中,那个么将接口变成适配器类,并以这种方式处理点击事件

OnItemClick onItemClick;

public void setOnItemClick(OnItemClick onItemClick) {
    this.onItemClick = onItemClick;
}

public interface OnItemClick {
    void getPosition(String data); //pass any data to shared it.
}
在那之后

 @Override
public void onBindViewHolder(ItemViewHolder holder, final int position) {
    // below code handle click event on recycler view item.
    final String data = mStringList.get(position);
    holder.textView.setText(data);
    holder.firstButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onItemClick.getPosition(data); // shared data.
        }
    });
}
之后,在activity adapter bind to recycler视图中,表示适配器不为null,然后在第行下面调用

        adpater.setOnItemClick(new RecyclerViewAdpater.OnItemClick() {
        @Override
        public void getPosition(String data) {
            // hear perform any operation.
            editTextbox.setText("");
            adpater.notifyDataSetChanged();
        }
    });

有一件事是肯定的。您需要使用

edittext.setText(“”)
以清除该值

但是你需要小心。您需要将其保留为删除行函数的第一行,即从列表中删除edittext项之前

下面是我的代码:我将“remove row”函数放在Recyclerview适配器的onBindViewHolder()方法中

holder.delImgView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//               You need to place it in the start
                holder.editText.setText("");
                // Remove the item on remove/button click
                myArrayList.remove(position);
                notifyItemRemoved(position);
                notifyItemRangeChanged(position, myArrayList.size());
                Toast.makeText(context, "Removed : " + position +" item", Toast.LENGTH_SHORT).show();

            }
        });

你在哪里清理你的编辑文本?我还没有代码。
holder.delImgView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//               You need to place it in the start
                holder.editText.setText("");
                // Remove the item on remove/button click
                myArrayList.remove(position);
                notifyItemRemoved(position);
                notifyItemRangeChanged(position, myArrayList.size());
                Toast.makeText(context, "Removed : " + position +" item", Toast.LENGTH_SHORT).show();

            }
        });