generated from dellevin/template
57 lines
1.9 KiB
Java
57 lines
1.9 KiB
Java
package top.iletter.lvnote;
|
|
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
import java.util.List;
|
|
|
|
public class BookAdapter extends RecyclerView.Adapter<BookAdapter.ViewHolder> {
|
|
private final List<BookStatusFragment.BookItem> books;
|
|
|
|
public BookAdapter(List<BookStatusFragment.BookItem> books) {
|
|
this.books = books;
|
|
}
|
|
|
|
@NonNull
|
|
@Override
|
|
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
View view = LayoutInflater.from(parent.getContext())
|
|
.inflate(R.layout.item_book, parent, false);
|
|
return new ViewHolder(view);
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
|
BookStatusFragment.BookItem book = books.get(position);
|
|
holder.title.setText(book.title);
|
|
holder.authors.setText(book.authors);
|
|
holder.publisher.setText(book.publisher);
|
|
holder.pages.setText(book.pages);
|
|
holder.isbn.setText(book.isbn);
|
|
holder.rating.setText(book.rating > 0 ? String.valueOf(book.rating) : "--");
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
return books.size();
|
|
}
|
|
|
|
static class ViewHolder extends RecyclerView.ViewHolder {
|
|
TextView title, authors, publisher, pages, isbn, rating;
|
|
|
|
ViewHolder(View itemView) {
|
|
super(itemView);
|
|
title = itemView.findViewById(R.id.tv_title);
|
|
authors = itemView.findViewById(R.id.tv_authors);
|
|
publisher = itemView.findViewById(R.id.tv_publisher);
|
|
pages = itemView.findViewById(R.id.tv_pages);
|
|
isbn = itemView.findViewById(R.id.tv_isbn);
|
|
rating = itemView.findViewById(R.id.tv_rating);
|
|
}
|
|
}
|
|
} |