LoadMoreWrapper
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- android, java
- 领域
- mobile-dev
调研方向
首先,复现 issue 中所示 LoadMoreWrapper 源代码报告的 Java 编译错误。检查 public LoadMoreWrapper 类在项目中的存储和声明方式,然后运行 Android 构建,以确认该类能够在没有文件名错误的情况下完成编译。
由索引模型根据 Issue 内容生成。
描述
Error:(16, 8) 错误: 类LoadMoreWrapper是公共的, 应在名为 LoadMoreWrapper.java 的文件中声明
这个类报错 大神
`package com.zhy.adapter.recyclerview.wrapper;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import android.view.ViewGroup;
import com.zhy.adapter.recyclerview.base.ViewHolder;
import com.zhy.adapter.recyclerview.utils.WrapperUtils;
/**
-
Created by zhy on 16/6/23.
*/
public class LoadMoreWrapper extends RecyclerView.Adapter<RecyclerView.ViewHolder>
{
public static final int ITEM_TYPE_LOAD_MORE = Integer.MAX_VALUE - 2;private RecyclerView.Adapter mInnerAdapter;
private View mLoadMoreView;
private int mLoadMoreLayoutId;public LoadMoreWrapper(RecyclerView.Adapter adapter)
{
mInnerAdapter = adapter;
}private boolean hasLoadMore()
{
return mLoadMoreView != null || mLoadMoreLayoutId != 0;
}private boolean isShowLoadMore(int position)
{
return hasLoadMore() && (position >= mInnerAdapter.getItemCount());
}@Override
public int getItemViewType(int position)
{
if (isShowLoadMore(position))
{
return ITEM_TYPE_LOAD_MORE;
}
return mInnerAdapter.getItemViewType(position);
}@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (viewType == ITEM_TYPE_LOAD_MORE)
{
ViewHolder holder;
if (mLoadMoreView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mLoadMoreView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mLoadMoreLayoutId);
}
return holder;
}
return mInnerAdapter.onCreateViewHolder(parent, viewType);
}@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
if (isShowLoadMore(position))
{
if (mOnLoadMoreListener != null)
{
mOnLoadMoreListener.onLoadMoreRequested();
}
return;
}
mInnerAdapter.onBindViewHolder(holder, position);
}@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView)
{
WrapperUtils.onAttachedToRecyclerView(mInnerAdapter, recyclerView, new WrapperUtils.SpanSizeCallback()
{
@Override
public int getSpanSize(GridLayoutManager layoutManager, GridLayoutManager.SpanSizeLookup oldLookup, int position)
{
if (isShowLoadMore(position))
{
return layoutManager.getSpanCount();
}
if (oldLookup != null)
{
return oldLookup.getSpanSize(position);
}
return 1;
}
});
}@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder)
{
mInnerAdapter.onViewAttachedToWindow(holder);if (isShowLoadMore(holder.getLayoutPosition())) { setFullSpan(holder); }}
private void setFullSpan(RecyclerView.ViewHolder holder)
{
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();if (lp != null && lp instanceof StaggeredGridLayoutManager.LayoutParams) { StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp; p.setFullSpan(true); }}
@Override
public int getItemCount()
{
return mInnerAdapter.getItemCount() + (hasLoadMore() ? 1 : 0);
}public interface OnLoadMoreListener
{
void onLoadMoreRequested();
}private OnLoadMoreListener mOnLoadMoreListener;
public LoadMoreWrapper setOnLoadMoreListener(OnLoadMoreListener loadMoreListener)
{
if (loadMoreListener != null)
{
mOnLoadMoreListener = loadMoreListener;
}
return this;
}public LoadMoreWrapper setLoadMoreView(View loadMoreView)
{
mLoadMoreView = loadMoreView;
return this;
}public LoadMoreWrapper setLoadMoreView(int layoutId)
{
mLoadMoreLayoutId = layoutId;
return this;
}
}
`
- 主要语言
- Java
- 星标
- 4.7k
- 派生
- 1.2k
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
hongyangAndroid/baseAdapter 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 72/100
hongyangAndroid/baseAdapter#122 ·
-
含泪放弃维护了 未关闭
难度 5/5 一周以上 新手友好度 1/100
hongyangAndroid/baseAdapter#136 ·
-
难度 5/5 一周以上 新手友好度 10/100
hongyangAndroid/baseAdapter#134 ·
-
难度 4/5 3-5 天 新手友好度 25/100
hongyangAndroid/baseAdapter#133 ·
-
难度 4/5 3-5 天 新手友好度 20/100
hongyangAndroid/baseAdapter#131 · 2 条评论 · 1 个 reaction ·
查看 hongyangAndroid/baseAdapter 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
HL7/fhir-ig-publisher#1375 ·
-
难度 2/5 1-3 小时 新手友好度 74/100
-
Flaky: a relaunched catch-up replay can still report catching up right after its marker is written 未关闭bug
难度 2/5 1-3 小时 新手友好度 78/100
johanhaleby/occurrent#1134 ·
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
objectionary/jeo-maven-plugin#1811 ·
-
难度 2/5 1-3 小时 新手友好度 88/100