You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Project/LLRiseTabBarDemo/app/src/main/java/adapter/ProductAdapter.java

82 lines
2.5 KiB

package com.startsmake.llrisetabbardemo.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.startsmake.llrisetabbardemo.R;
import com.startsmake.llrisetabbardemo.model.Item;
import java.util.List;
public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.ViewHolder> {
private Context context;
private List<Item> itemList;
private OnItemClickListener listener;
public interface OnItemClickListener {
void onItemClick(Item item);
}
public ProductAdapter(Context context, List<Item> itemList, OnItemClickListener listener) {
this.context = context;
this.itemList = itemList;
this.listener = listener;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.item_product, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Item item = itemList.get(position);
holder.tvTitle.setText(item.getTitle());
holder.tvPrice.setText(String.format("¥%.2f", item.getPrice()));
holder.tvLocation.setText(item.getLocation());
// 设置发布时间
String time = android.text.format.DateFormat.format("MM-dd HH:mm", item.getPublishTime()).toString();
holder.tvTime.setText(time);
// 设置点击事件
holder.itemView.setOnClickListener(v -> {
if (listener != null) {
listener.onItemClick(item);
}
});
}
@Override
public int getItemCount() {
return itemList.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
ImageView ivImage;
TextView tvTitle;
TextView tvPrice;
TextView tvLocation;
TextView tvTime;
public ViewHolder(@NonNull View itemView) {
super(itemView);
ivImage = itemView.findViewById(R.id.ivProductImage);
tvTitle = itemView.findViewById(R.id.tvProductTitle);
tvPrice = itemView.findViewById(R.id.tvProductPrice);
tvLocation = itemView.findViewById(R.id.tvProductLocation);
tvTime = itemView.findViewById(R.id.tvProductTime);
}
}
}