I have an app that one of the things it does is put items in a custom listview. Now I want to remove an item using setOnClickListener. The item does disappear but the problem is that when I exit and open the app or scroll between tabs the items return to the custom listview. Can anyone please help me?
activity
loadData();
mRecyclerView = v.findViewById(R.id.recyclerview2);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getContext());
mAdapter = new exampleAdapter(mExampleList);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter.notifyDataSetChanged();
mRecyclerView.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new exampleAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
Intent intent = new Intent(getActivity(),show.class);
intent.putExtra("Example Item", mExampleList.get(position));
startActivity(intent);
}
@Override
public void onDeleteClickListener(int position) {
removeItem(position);
}
});
return v;
}
public void removeItem(int position) {
mExampleList.remove(position);
mAdapter.notifyItemRemoved(position);
mAdapter.notifyDataSetChanged();
}
private void loadData() {
SharedPreferences sharedPreferences = this.getActivity().getSharedPreferences("shared preferences12", Context.MODE_PRIVATE);
Gson gson = new Gson();
String json = sharedPreferences.getString("task list12", null);
Type type = new TypeToken<ArrayList<exampleItem>>() {
}.getType();
mExampleList = gson.fromJson(json, type);
if (mExampleList == null) {
mExampleList = new ArrayList<>();
}
}
private void buildRecyclerView(View view) {
}
}
adapter
public static class ExampleViewHolder extends RecyclerView.ViewHolder {
public TextView mTextViewLine1;
public TextView mTextViewLine2;
public TextView mTextViewLine3;
public ImageView imageView;
public ImageView imageViewD;
RecyclerView mRecyclerView;
public ExampleViewHolder(View itemView,final OnItemClickListener listener) {
super(itemView);
mTextViewLine1 = itemView.findViewById(R.id.textview_line1);
mTextViewLine2 = itemView.findViewById(R.id.textview_line2);
mTextViewLine3 = itemView.findViewById(R.id.textview_line3);
imageView = itemView.findViewById(R.id.icond);
imageViewD = itemView.findViewById(R.id.imageViewDdd);
mRecyclerView = itemView.findViewById(R.id.recyclerview2);
imageViewD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (listener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
listener.onDeleteClickListener(position);
}
}
}
});
}
}