mirror of
https://github.com/readrops/Readrops.git
synced 2025-02-09 00:18:52 +01:00
Adding click listener and default click animation to feed items list
This commit is contained in:
parent
3b8e3c742a
commit
5f837d6edb
@ -19,6 +19,7 @@ import com.readrops.app.database.entities.Item;
|
|||||||
public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.ViewHolder> {
|
public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.ViewHolder> {
|
||||||
|
|
||||||
private RequestManager manager;
|
private RequestManager manager;
|
||||||
|
private OnItemClickListener listener;
|
||||||
|
|
||||||
public MainItemListAdapter(RequestManager manager) {
|
public MainItemListAdapter(RequestManager manager) {
|
||||||
super(DIFF_CALLBACK);
|
super(DIFF_CALLBACK);
|
||||||
@ -34,7 +35,7 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
|
|||||||
@Override
|
@Override
|
||||||
public boolean areContentsTheSame(@NonNull Item item, @NonNull Item t1) {
|
public boolean areContentsTheSame(@NonNull Item item, @NonNull Item t1) {
|
||||||
return item.getTitle().equals(t1.getTitle()) &&
|
return item.getTitle().equals(t1.getTitle()) &&
|
||||||
item.getContent().equals(t1.getContent());
|
item.getDescription().equals(t1.getDescription());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -60,7 +61,15 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
|
|||||||
manager.load(item.getImageLink()).apply(requestOptions).into(viewHolder.itemImage);
|
manager.load(item.getImageLink()).apply(requestOptions).into(viewHolder.itemImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
public interface OnItemClickListener {
|
||||||
|
void onItemClick(Item item);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOnItemClickListener() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
private TextView itemTitle;
|
private TextView itemTitle;
|
||||||
private ImageView itemImage;
|
private ImageView itemImage;
|
||||||
@ -69,6 +78,13 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
|
|||||||
ViewHolder(@NonNull View itemView) {
|
ViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
|
|
||||||
|
itemView.setOnClickListener((view -> {
|
||||||
|
int position = getAdapterPosition();
|
||||||
|
|
||||||
|
if (listener != null && position != RecyclerView.NO_POSITION)
|
||||||
|
listener.onItemClick(getItem(position));
|
||||||
|
}));
|
||||||
|
|
||||||
itemTitle = itemView.findViewById(R.id.item_title);
|
itemTitle = itemView.findViewById(R.id.item_title);
|
||||||
itemImage = itemView.findViewById(R.id.item_image);
|
itemImage = itemView.findViewById(R.id.item_image);
|
||||||
date = itemView.findViewById(R.id.item_date);
|
date = itemView.findViewById(R.id.item_date);
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?android:attr/selectableItemBackground">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/item_title"
|
android:id="@+id/item_title"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user