RecyclerView添加第一条数据界面不刷新

雕·不懒惰 2020-05-07 02:51:14
第一次进入的时候是没有数据的,添加第一条数据之后
myAdapter.notifyItemInserted(list.size()-1);--这里改成0也不行
此时界面并没有刷新显示数据,退出应用时保存已经添加的数据
再次进入,列表界面是显示有一条数据的,再次添加第二条后都可以正常刷新显示数据
为什么添加第一条就不正常显示
...全文
677 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2020-05-13
  • 打赏
  • 举报
回复
亲测正常展示,你再看看你的其他逻辑,肯定是哪里错了

        RecyclerView rv = findViewById(R.id.rv);
        ArrayList<String> list = new ArrayList<>();
        rv.setLayoutManager(new LinearLayoutManager(this));
        RecyclerView.Adapter adapter = new RecyclerView.Adapter() {
            @NonNull
            @Override
            public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                TextView tv = new TextView(getApplicationContext());
                return new RecyclerView.ViewHolder(tv) {
                };
            }

            @Override
            public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
                TextView tv = (TextView) holder.itemView;
                tv.setText(list.get(position));
            }

            @Override
            public int getItemCount() {
                return list.size();
            }
        };
        rv.setAdapter(adapter);

        Handler handler = new Handler();//3秒加一个
        Runnable r = new Runnable() {
            @Override
            public void run() {
                list.add("hhhhhhhhhhhhhhhhhhhhhhh");
                System.out.println(111111);
                adapter.notifyItemInserted(list.size() - 1);
                if (list.size() < 3) {
                    handler.postDelayed(this, 3000);
                } else {
                    adapter.notifyDataSetChanged();
                }
            }
        };
        handler.postDelayed(r, 3000);
剑笑了 2020-05-09
  • 打赏
  • 举报
回复
看看你的adapter的数据源,是这个list还是初始化赋值时候另外一个对象

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧