ListView加载网络数据json

博客内容介绍了如何处理ListView在加载网络数据时遇到的问题,由于数据获取是异步的,导致初始显示为空。解决方案是利用adapter的notifyDataSetChanged()方法更新列表视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ListView加载网络数据时,由于获取网络数据是异步的操作,故将列表的值加载到ListView中的时候list的值是空的,所以需要使用adapter的更新函数
adapter.notifyDataSetChanged();

public class MinePostActivity extends AppCompatActivity {
    private List<PostsListBean.PostList> postList=new ArrayList<>();
    private MinePostPresenter presenter;
    private int mType = 0;
    private String mTitle;
    MinePostAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mine_post);
        loadData(false);
        adapter=new MinePostAdapter(MinePostActivity.this,R.layout.mine_post,postList);
        ListView listView=(ListView)findViewById(R.id.mine_post_listview);
        listView.setAdapter(adapter);
    }

    private void loadData(final boolean isDownRefresh){
        presenter=new MinePostPresenter(MinePostActivity.this);
        presenter.getPostList(mType, isDownRefresh, new BasePresenter.OnUIThreadListener<List<PostsListBean.PostList>>() {
            @Override
            public void onResult(List<PostsListBean.PostList> result) {
                if (isDownRefresh){
                    //xRefreshView.stopRefresh();
                }else{
                   // xRefreshView.stopLoadMore();
                }
                if (result == null){
                    ToastUtil.showToast(MinePostActivity.this,"加载失败");
                }else {
                    ToastUtil.showToast(MinePostActivity.this,"加载成功");
                    //刷新UI
                    if (isDownRefresh){
                        //如果你是下拉刷新,我就情况列表
                        postList.clear();
                    }
                    postList.addAll(result);
                    adapter.notifyDataSetChanged();

                }
            }
        });
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值