[mobile] fix record crash

pull/123/head
FongMi 3 years ago
parent d9d93fef69
commit b95ba1c17a
  1. 22
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/RecordAdapter.java

@ -1,6 +1,7 @@
package com.fongmi.android.tv.ui.adapter; package com.fongmi.android.tv.ui.adapter;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -78,24 +79,25 @@ public class RecordAdapter extends RecyclerView.Adapter<RecordAdapter.ViewHolder
String text = mItems.get(position); String text = mItems.get(position);
holder.binding.text.setText(text); holder.binding.text.setText(text);
holder.binding.text.setOnClickListener(v -> mListener.onItemClick(text)); holder.binding.text.setOnClickListener(v -> mListener.onItemClick(text));
holder.binding.text.setOnLongClickListener(v -> onLongClick(position));
} }
private boolean onLongClick(int position) { class ViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
mItems.remove(position);
notifyItemRemoved(position);
mListener.onDataChanged(getItemCount());
Prefers.putKeyword(mGson.toJson(mItems));
return true;
}
static class ViewHolder extends RecyclerView.ViewHolder {
private final AdapterCollectRecordBinding binding; private final AdapterCollectRecordBinding binding;
ViewHolder(@NonNull AdapterCollectRecordBinding binding) { ViewHolder(@NonNull AdapterCollectRecordBinding binding) {
super(binding.getRoot()); super(binding.getRoot());
this.binding = binding; this.binding = binding;
itemView.setOnLongClickListener(this);
}
@Override
public boolean onLongClick(View v) {
mItems.remove(getLayoutPosition());
notifyItemRemoved(getLayoutPosition());
mListener.onDataChanged(getItemCount());
Prefers.putKeyword(mGson.toJson(mItems));
return true;
} }
} }
} }

Loading…
Cancel
Save