Extracts the ViewHolder for SimpleListItemBinding to SimpleListItemViewHolder<T>.
This commit is contained in:
		| @@ -2,18 +2,17 @@ package com.majinnaibu.monstercards.ui.library; | |||||||
|  |  | ||||||
| import android.view.LayoutInflater; | import android.view.LayoutInflater; | ||||||
| import android.view.ViewGroup; | import android.view.ViewGroup; | ||||||
| import android.widget.TextView; |  | ||||||
|  |  | ||||||
| import androidx.annotation.NonNull; | import androidx.annotation.NonNull; | ||||||
| import androidx.recyclerview.widget.DiffUtil; | import androidx.recyclerview.widget.DiffUtil; | ||||||
| import androidx.recyclerview.widget.ListAdapter; | import androidx.recyclerview.widget.ListAdapter; | ||||||
| import androidx.recyclerview.widget.RecyclerView; |  | ||||||
|  |  | ||||||
| import com.majinnaibu.monstercards.databinding.SimpleListItemBinding; | import com.majinnaibu.monstercards.databinding.SimpleListItemBinding; | ||||||
| import com.majinnaibu.monstercards.models.Monster; | import com.majinnaibu.monstercards.models.Monster; | ||||||
|  | import com.majinnaibu.monstercards.ui.shared.SimpleListItemViewHolder; | ||||||
| import com.majinnaibu.monstercards.utils.ItemCallback; | import com.majinnaibu.monstercards.utils.ItemCallback; | ||||||
|  |  | ||||||
| public class LibraryRecyclerViewAdapter extends ListAdapter<Monster, LibraryRecyclerViewAdapter.ViewHolder> { | public class LibraryRecyclerViewAdapter extends ListAdapter<Monster, SimpleListItemViewHolder<Monster>> { | ||||||
|     private static final DiffUtil.ItemCallback<Monster> DIFF_CALLBACK = new DiffUtil.ItemCallback<Monster>() { |     private static final DiffUtil.ItemCallback<Monster> DIFF_CALLBACK = new DiffUtil.ItemCallback<Monster>() { | ||||||
|         @Override |         @Override | ||||||
|         public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) { |         public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) { | ||||||
| @@ -34,13 +33,13 @@ public class LibraryRecyclerViewAdapter extends ListAdapter<Monster, LibraryRecy | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @NonNull |     @NonNull | ||||||
|     public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { |     public SimpleListItemViewHolder<Monster> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { | ||||||
|         SimpleListItemBinding binding = SimpleListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false); |         SimpleListItemBinding binding = SimpleListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false); | ||||||
|         return new ViewHolder(binding); |         return new SimpleListItemViewHolder<>(binding); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onBindViewHolder(final @NonNull ViewHolder holder, int position) { |     public void onBindViewHolder(final @NonNull SimpleListItemViewHolder<Monster> holder, int position) { | ||||||
|         Monster monster = getItem(position); |         Monster monster = getItem(position); | ||||||
|         holder.item = monster; |         holder.item = monster; | ||||||
|         holder.contentView.setText(monster.name); |         holder.contentView.setText(monster.name); | ||||||
| @@ -51,14 +50,4 @@ public class LibraryRecyclerViewAdapter extends ListAdapter<Monster, LibraryRecy | |||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     static class ViewHolder extends RecyclerView.ViewHolder { |  | ||||||
|         final TextView contentView; |  | ||||||
|         Monster item; |  | ||||||
|  |  | ||||||
|         ViewHolder(SimpleListItemBinding binding) { |  | ||||||
|             super(binding.getRoot()); |  | ||||||
|             contentView = binding.content; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,18 +2,17 @@ package com.majinnaibu.monstercards.ui.search; | |||||||
|  |  | ||||||
| import android.view.LayoutInflater; | import android.view.LayoutInflater; | ||||||
| import android.view.ViewGroup; | import android.view.ViewGroup; | ||||||
| import android.widget.TextView; |  | ||||||
|  |  | ||||||
| import androidx.annotation.NonNull; | import androidx.annotation.NonNull; | ||||||
| import androidx.recyclerview.widget.DiffUtil; | import androidx.recyclerview.widget.DiffUtil; | ||||||
| import androidx.recyclerview.widget.ListAdapter; | import androidx.recyclerview.widget.ListAdapter; | ||||||
| import androidx.recyclerview.widget.RecyclerView; |  | ||||||
|  |  | ||||||
| import com.majinnaibu.monstercards.databinding.SimpleListItemBinding; | import com.majinnaibu.monstercards.databinding.SimpleListItemBinding; | ||||||
| import com.majinnaibu.monstercards.models.Monster; | import com.majinnaibu.monstercards.models.Monster; | ||||||
|  | import com.majinnaibu.monstercards.ui.shared.SimpleListItemViewHolder; | ||||||
| import com.majinnaibu.monstercards.utils.ItemCallback; | import com.majinnaibu.monstercards.utils.ItemCallback; | ||||||
|  |  | ||||||
| public class SearchResultsRecyclerViewAdapter extends ListAdapter<Monster, SearchResultsRecyclerViewAdapter.ViewHolder> { | public class SearchResultsRecyclerViewAdapter extends ListAdapter<Monster, SimpleListItemViewHolder<Monster>> { | ||||||
|     private static final DiffUtil.ItemCallback<Monster> DIFF_CALLBACK = new DiffUtil.ItemCallback<Monster>() { |     private static final DiffUtil.ItemCallback<Monster> DIFF_CALLBACK = new DiffUtil.ItemCallback<Monster>() { | ||||||
|         @Override |         @Override | ||||||
|         public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) { |         public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) { | ||||||
| @@ -34,13 +33,13 @@ public class SearchResultsRecyclerViewAdapter extends ListAdapter<Monster, Searc | |||||||
|  |  | ||||||
|     @NonNull |     @NonNull | ||||||
|     @Override |     @Override | ||||||
|     public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { |     public SimpleListItemViewHolder<Monster> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { | ||||||
|         SimpleListItemBinding binding = SimpleListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false); |         SimpleListItemBinding binding = SimpleListItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false); | ||||||
|         return new ViewHolder(binding); |         return new SimpleListItemViewHolder<>(binding); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void onBindViewHolder(@NonNull final ViewHolder holder, int position) { |     public void onBindViewHolder(@NonNull final SimpleListItemViewHolder<Monster> holder, int position) { | ||||||
|         Monster monster = getItem(position); |         Monster monster = getItem(position); | ||||||
|         holder.item = monster; |         holder.item = monster; | ||||||
|         holder.contentView.setText(monster.name); |         holder.contentView.setText(monster.name); | ||||||
| @@ -50,14 +49,4 @@ public class SearchResultsRecyclerViewAdapter extends ListAdapter<Monster, Searc | |||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public static class ViewHolder extends RecyclerView.ViewHolder { |  | ||||||
|         final TextView contentView; |  | ||||||
|         Monster item; |  | ||||||
|  |  | ||||||
|         ViewHolder(SimpleListItemBinding binding) { |  | ||||||
|             super(binding.getRoot()); |  | ||||||
|             contentView = binding.content; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -0,0 +1,17 @@ | |||||||
|  | package com.majinnaibu.monstercards.ui.shared; | ||||||
|  |  | ||||||
|  | import android.widget.TextView; | ||||||
|  |  | ||||||
|  | import androidx.recyclerview.widget.RecyclerView; | ||||||
|  |  | ||||||
|  | import com.majinnaibu.monstercards.databinding.SimpleListItemBinding; | ||||||
|  |  | ||||||
|  | public class SimpleListItemViewHolder<T> extends RecyclerView.ViewHolder { | ||||||
|  |     public final TextView contentView; | ||||||
|  |     public T item; | ||||||
|  |  | ||||||
|  |     public SimpleListItemViewHolder(SimpleListItemBinding binding) { | ||||||
|  |         super(binding.getRoot()); | ||||||
|  |         contentView = binding.content; | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 Tom Hicks
						Tom Hicks