Extracts the ViewHolder for SimpleListItemBinding to SimpleListItemViewHolder<T>.

This commit is contained in:
2021-08-31 21:22:24 -07:00
committed by Tom Hicks
parent be433bf217
commit 93bf987bb9
3 changed files with 27 additions and 32 deletions

View File

@@ -2,18 +2,17 @@ package com.majinnaibu.monstercards.ui.library;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.majinnaibu.monstercards.databinding.SimpleListItemBinding;
import com.majinnaibu.monstercards.models.Monster;
import com.majinnaibu.monstercards.ui.shared.SimpleListItemViewHolder;
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>() {
@Override
public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) {
@@ -34,13 +33,13 @@ public class LibraryRecyclerViewAdapter extends ListAdapter<Monster, LibraryRecy
@Override
@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);
return new ViewHolder(binding);
return new SimpleListItemViewHolder<>(binding);
}
@Override
public void onBindViewHolder(final @NonNull ViewHolder holder, int position) {
public void onBindViewHolder(final @NonNull SimpleListItemViewHolder<Monster> holder, int position) {
Monster monster = getItem(position);
holder.item = monster;
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;
}
}
}

View File

@@ -2,18 +2,17 @@ package com.majinnaibu.monstercards.ui.search;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.majinnaibu.monstercards.databinding.SimpleListItemBinding;
import com.majinnaibu.monstercards.models.Monster;
import com.majinnaibu.monstercards.ui.shared.SimpleListItemViewHolder;
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>() {
@Override
public boolean areItemsTheSame(@NonNull Monster oldItem, @NonNull Monster newItem) {
@@ -34,13 +33,13 @@ public class SearchResultsRecyclerViewAdapter extends ListAdapter<Monster, Searc
@NonNull
@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);
return new ViewHolder(binding);
return new SimpleListItemViewHolder<>(binding);
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
public void onBindViewHolder(@NonNull final SimpleListItemViewHolder<Monster> holder, int position) {
Monster monster = getItem(position);
holder.item = monster;
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;
}
}
}

View File

@@ -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;
}
}