gpt4 book ai didi

android - RecyclerView 仅在滚动时更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:52 25 4
gpt4 key购买 nike

我有一个带有适配器的 RecyclerView 布局:

public class SimpleRecyclerAdapter extends RecyclerView.Adapter<SimpleViewHolder> {

protected List<JSONObject> data = new ArrayList<>();

public List<JSONObject> getData() { return data; }
}

我像这样更新它的适配器:

public void udpdateFromJson( JSONObject payload ) {
JSONArray msgs = payload.optJSONArray( "messages" );
for( int ix = 0; null != msgs && ix < msgs.length(); ix++ ){
JSONObject o = msgs.optJSONObject( ix );
if( loadingMore ) adapter.getData().add( 1 + ix, o );
else adapter.getData().add( o );
}

adapter.notifyDataSetChanged();
recyclerView.invalidate();
}

问题是,只有当我触摸或 ScrollView 时,我才能看到新项目。

我错过了什么?

更新:

为了解决这个问题,我更换了线条

adapter.notifyDataSetChanged();
recyclerView.invalidate();

adapter.notifyItemRangeInserted( loadingMore ? 1 : 0, msgs.length() );

成功了

最佳答案

尝试指定插入或移除项目的位置,而不是 notifyDataSetChanged();。你可以使用

notifyItemInserted(int pos);
notifyItemRangeChanged(int start, int end);`

关于android - RecyclerView 仅在滚动时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38140858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com