Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Adapter 一些建议

Đang mở
#88 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
android, java
Lĩnh vực
mobile

Hướng nghiên cứu

Bắt đầu bằng cách đọc các API của LoadMoreAdapter, MultiItemTypeAdapter và ItemViewDelegate, tập trung vào các phương thức được liệt kê và hành vi của constructor. Tách bốn thay đổi được đề xuất thành các quyết định có phạm vi độc lập; được xem là hoàn tất khi các maintainer đã thống nhất về một phạm vi cụ thể và hành vi bị ảnh hưởng được các kiểm tra hiện có của repository bao phủ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

你好,看了你的代码,觉得很不错。在使用这个库的时候有几个想法:

关于LoadMoreAdapter

  1. 关于设置:hasLoadMore 这个方法是private。为什么不能设置 getter setter?很多时候加载更多的时候,如果没有更多的时候,能简单的设置hasLoadMore 不是更好吗?

  2. 错误处理,如果我在加载loadMore的时候,如果出现错误,如何显示一个错误的item?点击重新刷新?

关于 MultiItemTypeAdapter 数据安全 :

  1. 你的adapter 的 构造函数里面要求传入 List, 你将传入的赋予mData。 其实我觉得最好是你自己内部建立一个空的List, 避免null指针
public class MultiItemTypeAdapter<T> extends RecyclerView.Adapter<ViewHolder> {
    protected Context mContext;
    protected List<T> mDatas = new ArrayList<>();

    protected ItemViewDelegateManager mItemViewDelegateManager = new ItemViewDelegateManager();
    protected OnItemClickListener mOnItemClickListener;


    public MultiItemTypeAdapter(Context context) {
        mContext = context;
    }

    public void addData(List<T> datas) {
        mDatas.addAll(datas);
    }

    public void setData(List<T> datas) {
        mDatas.clear();
        mDatas.addAll(datas);
    }

关于 ItemViewDelegate

RecycleViewAdapter 有两个基本方法:
onCreateViewHolder
onBindViewHolder

个人觉得可以把 ItemViewDelegate#convert(ViewHolder holder, T t, int position); 分为两个方法 :

void create(View view); 这个方法用来初始化ViewHolder里面的Views (现在很多人喜欢用 butterKnife)这个方法在 onCreateViewHolder 调用

void convert(T t, int position); 这个方法在 onBindViewHolder 调用
因为在create()里面已经初始化了所有views 所以就不需要 ViewHolder holder 来调用 譬如
holder.setText() 这样的方法

Ngôn ngữ chính
Java
Star
4.7k
Fork
1.2k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của hongyangAndroid/baseAdapter

Tất cả issue của hongyangAndroid/baseAdapter

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.