notifyDataSetChanged()を使用してrecyclerviewを更新しようとしていますが、動作しません。notifyDataSetChangedを使用してrecyclerviewを最も簡単に更新する方法
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(ctx, LinearLayoutManager.VERTICAL, false);
lstSong.setLayoutManager(mLayoutManager);
lstSong.setItemAnimator(new DefaultItemAnimator());
lstSong.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(0), true));
arrSong = new ArrayList<Song>();
arrSong = kFunc.getAllSong();
songAdapter = new SongAdapter(ctx, arrSong);
lstSong.setAdapter(songAdapter);
このコードの行は、データが表示されます。私はこのようなrecyclerviewにアダプタを設定しています。しかし、私は新しいデータを追加し、songAdapter.notifyDataSetChanged();
とrecyclerviewをリフレッシュすると、データが表示されません。私はsetAdapter()
を使ってそれを表示することができますが、私はそれを正しくしたいと思います。
リフレッシュする前にデータを追加します。これはコードです:あなたのクラスに新しい値を得ることがadapdterオブジェクト
lstSong.updateItems(arrSong);
notifyDataSetChanged();
は、あなたがrecyclerviewで新しいアイテムを追加している場所でコードを共有できます –
新しいアイテムを追加する方法を確認するためにSongAdapterのコードを見ることはできますか? – kimkevin
arrSong = kFunc.getAllSong()の代わりに。この使用arrSong.addAll(kFunc.getAllSong()); –