feat:Fix Flowlayout call onLoadMore multi times
This commit is contained in:
@@ -45,6 +45,7 @@ class FlowAdapter extends RecyclerView.Adapter<FlowAdapter.DoricViewHolder> {
|
||||
int itemCount = 0;
|
||||
int batchCount = 15;
|
||||
SparseArray<String> itemValues = new SparseArray<>();
|
||||
private int loadAnchor = 0;
|
||||
|
||||
FlowAdapter(FlowLayoutNode flowLayoutNode) {
|
||||
this.flowLayoutNode = flowLayoutNode;
|
||||
@@ -66,9 +67,8 @@ class FlowAdapter extends RecyclerView.Adapter<FlowAdapter.DoricViewHolder> {
|
||||
holder.flowLayoutItemNode.setId(jsObject.getProperty("id").asString().value());
|
||||
holder.flowLayoutItemNode.blend(jsObject.getProperty("props").asObject());
|
||||
}
|
||||
if (position >= this.itemCount) {
|
||||
this.flowLayoutNode.callJSResponse(this.flowLayoutNode.onLoadMoreFuncId);
|
||||
|
||||
if (position >= this.itemCount && !TextUtils.isEmpty(this.flowLayoutNode.onLoadMoreFuncId)) {
|
||||
callLoadMore();
|
||||
StaggeredGridLayoutManager.LayoutParams layoutParams = new StaggeredGridLayoutManager.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
holder.itemView.getLayoutParams().height
|
||||
@@ -143,6 +143,14 @@ class FlowAdapter extends RecyclerView.Adapter<FlowAdapter.DoricViewHolder> {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void callLoadMore() {
|
||||
if (loadAnchor != itemCount) {
|
||||
loadAnchor = itemCount;
|
||||
this.flowLayoutNode.callJSResponse(this.flowLayoutNode.onLoadMoreFuncId);
|
||||
}
|
||||
}
|
||||
|
||||
static class DoricViewHolder extends RecyclerView.ViewHolder {
|
||||
FlowLayoutItemNode flowLayoutItemNode;
|
||||
|
||||
|
Reference in New Issue
Block a user