huxq17 / XRefreshView

一个万能的android下拉上拉刷新的框架,完美支持recyclerview
1.7k stars 501 forks source link

viewholder问题 #59

Closed raccoon5 closed 7 years ago

raccoon5 commented 7 years ago
    @Override
    public SimpleAdapterViewHolder getViewHolder(View view) {
        return new SimpleAdapterViewHolder(view, false);
    }

    @Override
    public SimpleAdapterViewHolder onCreateViewHolder(ViewGroup parent, int viewType, boolean isItem) {
        View v = null;
        if (viewType == 0) {
            v = LayoutInflater.from(parent.getContext()).inflate(
                    R.layout.item_left_recylerview, parent, false);
        } else {
            v = LayoutInflater.from(parent.getContext()).inflate(
                    R.layout.item_right_recylerview, parent, false);
        }
        return new SimpleAdapterViewHolder(v, viewType, true);
    }

请问getViewHolder的作用是什么?

raccoon5 commented 7 years ago

我发现你这个BaseRecyclerAdapter有一些局限,为什么不能使用系统的Adapter,要使用的话,项目改动比较大

huxq17 commented 7 years ago

getViewHolder是为header和footer获取viewholder,用系统的adater没法实现这些功能。

raccoon5 commented 7 years ago

@huxq17 嗯,那就是说我在getViewHolder中返回一个自定义viewholder类型,不做任何处理,然后设置footer视图 this.setCustomFooterView(new SmileyLoadingView(context)); 目前是使用的这种方法,这样的做法对吗?

huxq17 commented 7 years ago

对的。