В моем приложении есть recycleView со множеством элементов управления cardView. Я хочу, чтобы пользователь мог выбирать элементы управления cardView при длительном нажатии. В этой операции пользователь может выполнить длительное нажатие на cardViews и выбрать несколько cardViews. Когда пользователь выбирает cardView с помощью операции длительного нажатия, кнопка FloatingAction должна измениться на удаление и должна позволить пользователю удалить выбранные элементы из коллекции.
Как я могу выполнить эту операцию? Ниже приведен код, который я использую.
Ниже приведен класс адаптера и держателя:
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();
}
}
Подробнее здесь: https://stackoverflow.com/questions/412 ... and-delete
RecyclerView CardView долгое нажатие и удаление ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Appium и долгое нажатие, а затем перемещение элемента (перетаскивание) не работает
Anonymous » » в форуме JAVA - 0 Ответы
- 58 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как обнаружить долгое нажатие с помощью JavaScript для Android и iPhone?
Anonymous » » в форуме Android - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как SelectionContainer поддерживает долгое нажатие для выбора всех по умолчанию
Anonymous » » в форуме Android - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-