[英]Delete edittext value in the recyclerview
當前:我有一個回收站視圖,其中有刪除按鈕和每個項目的編輯文本。
回收者視圖中的每個項目都包含用戶可以輸入的編輯文本。
場景是我在列表中有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();
采用
edittext.setText("");
清除文本,其中edittext是對EditText的引用。 由於您還沒有發布完整的代碼,因此我只能對此進行指導。 如果您提供更多代碼,那么我可以為您提供更多幫助。
嘗試此代碼..在執行單擊事件時,在onBindView方法的適配器類中,然后將edittext值設置為null。
edittext.setText("");
如果您在活動布局中使用edittext框,則使接口進入適配器類並以這種方式處理click事件...
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.
}
});
}
之后,在活動適配器中綁定到回收器視圖,這意味着適配器不為null,然后在行下方調用。
adpater.setOnItemClick(new RecyclerViewAdpater.OnItemClick() {
@Override
public void getPosition(String data) {
// hear perform any operation.
editTextbox.setText("");
adpater.notifyDataSetChanged();
}
});
一件事是肯定的。 您將需要使用
edittext.setText("")
清除值。
但是您需要小心。 您需要將其保留為刪除行函數中的第一行,即,從列表中刪除該edittext項之前。
這是我的代碼:我已經將“刪除行”功能放在Recyclerview Adapter的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();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.