Java 单击特定图标时从recyclerView中删除项目
我有一个适配器,它在onCreateParentViewHolder方法中包含以下行:Java 单击特定图标时从recyclerView中删除项目,java,android,android-recyclerview,adapter,Java,Android,Android Recyclerview,Adapter,我有一个适配器,它在onCreateParentViewHolder方法中包含以下行: tacho.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d("mytag", "notititle es " + notiTitle.getText()); String[] myte
tacho.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("mytag", "notititle es " + notiTitle.getText());
String[] mytext = notiTitle.getText().toString().replace("\nUpdate", "").replace("\nActualización", "").split(":");
for(String s: myNotif){
if(s.contains(mytext[0]) && s.contains(mytext[1]) && s.contains(mytext[2]) && s.contains(mytext[3].replace(" ", "")) ){
Log.d("mytag", "Match!");
myNotif.remove(s);
editor.putStringSet("notifications", myNotif);
editor.commit();
}
}
}
});
所以这个监听器工作得很好。它从共享首选项集中删除某些项。但我还想从我的RecyclerView中删除该项目。我该怎么做
我的recyclerView从共享首选项加载数据,因此当我退出活动并重新输入时,它会删除该项,因此工作正常。但问题是,它也应该立即删除 您应该从传递给recyclerview的适配器中删除该项,然后notifyDatasetchanged,如下所示:
YourAdapter.remove(The_Item_That_Should_Be_Removed);
YourAdapter.notifyDataSetChanged();
这应该可以完成任务。没有办法从适配器内部删除吗?是的,您可以通过使适配器为静态,将适配器对象声明为“public static”,然后在适配器代码中调用它,并按照我之前向您展示的方式执行。