Recycleview CardView Long Press and LöschenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Recycleview CardView Long Press and Löschen

Post by Anonymous »

In meiner Anwendung habe ich ein Recycleview mit vielen Cardview -Steuerelementen. Ich möchte dem Benutzer erlauben, die CardView -Steuerelemente bei Long Press auszuwählen. In dieser Operation kann der Benutzer einen langen Druckvorgang auf Cardviews durchführen und mehrere Cardviews auswählen. Wenn der Benutzer eine Cardview mit Long Drücken -Operation auswählt, sollte die FloatingAction -Taste zum Löschen geändert werden und es dem Benutzer ermöglichen, die ausgewählten Elemente aus der Sammlung zu löschen.
Wie kann ich diesen Vorgang ausführen? Unten ist der Code, den ich verwende. < /P>

Code: Select all











< /code>

Unten finden Sie die Adapter- und Halterklasse: < /p>

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class DisplayItemViewHolders extends RecyclerView.ViewHolder implements View.OnClickListener {

public TextView name;
public TextView detailedInformation;
public ImageView image;

//private final Context context;

public DisplayItemViewHolders(View itemView) {
super(itemView);
itemView.setOnClickListener(this);

//context = itemView.getActivity();

name = (TextView) itemView.findViewById(R.id.display_name);
image = (ImageView) itemView.findViewById(R.id.display_image);
}

@Override
public void onClick(View view) {

}
}

public class DisplayItemRecyclerViewAdapter extends RecyclerView.Adapter {

private List itemList;
private Context context;

public DisplayItemRecyclerViewAdapter(Context context, List itemList) {
this.itemList = itemList;
this.context = context;
}

@Override
public DisplayItemViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {

View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.display_card, parent, false);
layoutView.setLayoutParams(new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT));
DisplayItemViewHolders rcv = new DisplayItemViewHolders(layoutView);
return rcv;
}

@Override
public void onBindViewHolder(DisplayItemViewHolders holder, int position) {
holder.name.setText(itemList.get(position).getName());
holder.image.setImageResource(itemList.get(position).getPhoto());
}

@Override
public int getItemCount() {
return this.itemList.size();
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post