BorrowBookFragment.java
package com.example.myapplication.ui.login.ui.home;
//import...
public class BorrowBookFragment extends Fragment {
public RecyclerView rv_bookList;
private List<Book> bookList = new ArrayList<>();
private BorrowBookAdapter mAdapter;
public interface MyOnItemClickListener {
void OnItemClickListener(View itemView);
}
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_borrow_book, container, false);
rv_bookList = rootView.findViewById(R.id.rv_booklist);
et_bookName = rootView.findViewById(R.id.et_bookName);
initView();
return rootView;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
/*
* 初始化数据
* */
public void initData(String bookName){
new Thread(){
@Override
public void run() {
//此处初始化数据
}
}.start();
}
/*
* 初始化视图
* */
public void initView(){
//默认分割线
rv_bookList.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICAL));
mAdapter = new BorrowBookAdapter(bookList);
rv_bookList.setLayoutManager(new LinearLayoutManager(getActivity()));
mAdapter.setMyOnItemClickListener(new MyOnItemClickListener() {
@Override
public void OnItemClickListener(View v) {
//注意:此处通过 RecyclerView 的实例获取item的位置
int position = rv_bookList.getChildAdapterPosition(v);
Book book = bookList.get(position);
/*此处填写触发点击事件的代码*/
}
});
rv_bookList.setAdapter(mAdapter);
}
}
BorrowBookAdapter.java
package com.example.myapplication.ui.login.ui.home;
//import...
public class BorrowBookAdapter extends RecyclerView.Adapter<BorrowBookAdapter.BookListViewHolder>{
private List<Book> bookList;
private BorrowBookFragment.MyOnItemClickListener myOnItemClickListener;
public void setMyOnItemClickListener(BorrowBookFragment.MyOnItemClickListener myOnItemClickListener) {
this.myOnItemClickListener = myOnItemClickListener;
}
public BorrowBookAdapter(List<Book> bookList){
this.bookList = bookList;
}
@NonNull
@Override
public BorrowBookAdapter.BookListViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from (parent.getContext()).inflate (R.layout.borrowbooklist_item_layout,parent,false);
BookListViewHolder holder = new BookListViewHolder (view);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myOnItemClickListener.OnItemClickListener(v);
}
});
return holder;
}
@Override
public void onBindViewHolder(@NonNull BorrowBookAdapter.BookListViewHolder holder, int position) {
Book book = bookList.get(position);
holder.tv_bookName.setText(book.getName());
holder.tv_bookISBN.setText("ISBN: "+book.getIsbn());
holder.tv_remainBookNum.setText("剩余"+book.getRemainNumber()+"本, ");
holder.tv_totalBookNum.setText("总共"+book.getTotalNumber()+"本");
}
@Override
public int getItemCount() {
return bookList.size();
}
class BookListViewHolder extends RecyclerView.ViewHolder{
private TextView tv_bookName;
private TextView tv_bookISBN;
private TextView tv_remainBookNum;
private TextView tv_totalBookNum;
public BookListViewHolder(@NonNull View itemView) {
super(itemView);
tv_bookName = itemView.findViewById(R.id.tv_bookName);
tv_bookISBN = itemView.findViewById(R.id.tv_bookISBN);
tv_remainBookNum = itemView.findViewById(R.id.tv_remainBookNum);
tv_totalBookNum = itemView.findViewById(R.id.tv_totalBookNum);
}
}
}