Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.webserveis.testkeyvalue;
- import android.graphics.Color;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.TextView;
- import java.util.Collections;
- import java.util.List;
- import androidx.annotation.NonNull;
- import androidx.recyclerview.widget.ItemTouchHelper;
- import androidx.recyclerview.widget.RecyclerView;
- public class KeyValueAdapter extends RecyclerView.Adapter<KeyValueAdapter.MyViewHolder> implements
- SwipeAndDragHelper.ItemTouchHelperAdapter {
- private List<KeyValueItem> itemList;
- private ItemTouchHelper touchHelper;
- public KeyValueAdapter(List<KeyValueItem> data) {
- this.itemList = data;
- }
- @NonNull
- @Override
- public KeyValueAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_layout, parent, false);
- return new MyViewHolder(v);
- }
- @Override
- public void onBindViewHolder(@NonNull KeyValueAdapter.MyViewHolder holder, int position) {
- KeyValueItem item = itemList.get(position);
- holder.mKey.setText(item.getKey());
- holder.mValue.setText(item.getValue());
- }
- @Override
- public int getItemCount() {
- return itemList == null ? 0 : itemList.size();
- }
- public void updateDataSet(List<KeyValueItem> data) {
- this.itemList = data;
- notifyDataSetChanged();
- }
- @NonNull
- public final List<KeyValueItem> getCurrentItems() {
- return Collections.unmodifiableList(itemList);
- }
- @Override
- public void onViewMoved(int oldPosition, int newPosition) {
- Collections.swap(itemList, oldPosition, newPosition);
- notifyItemMoved(oldPosition, newPosition);
- }
- @Override
- public void onViewSwiped(int position) {
- itemList.remove(position);
- notifyItemRemoved(position);
- }
- public void setTouchHelper(ItemTouchHelper touchHelper) {
- this.touchHelper = touchHelper;
- }
- public static class MyViewHolder extends RecyclerView.ViewHolder implements
- SwipeAndDragHelper.ItemTouchHelperViewHolder {
- private TextView mKey;
- private TextView mValue;
- public MyViewHolder(@NonNull View itemView) {
- super(itemView);
- mKey = itemView.findViewById(R.id.text1);
- mValue = itemView.findViewById(R.id.text2);
- }
- @Override
- public void onItemSelected() {
- itemView.setBackgroundColor(Color.LTGRAY);
- }
- @Override
- public void onItemClear() {
- itemView.setBackgroundColor(0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement