最初に空のarraylistを使用して、リサイクルビューアアダプタを初期化します。 はその後、一度、私はnotifyDataSetChanged()
を呼び出すことによって、アダプタを更新しようが、私はちょうど次のようにアダプタを更新するAPIからデータを取得した後空のRecyclerビューが新しいデータで更新されない
void initRecyclerView()
{
myList = new ArrayList<>();
myRecyclerAdapter = new myRecyclerAdapter(getActivity(), myList, "");
myRecyclerView.setAdapter(myRecyclerAdapter);
linearLayoutManager = new LinearLayoutManager(getActivity());
myRecyclerView.setHasFixedSize(true);
myRecyclerView.setLayoutManager(linearLayoutManager);
}
を発射し、私のアダプタでコールバックメソッドのどれもが取得されていないAPIからデータを取得します:
void updateRecyclerView(ArrayList<Data> newList)
{
if (myList.isEmpty())
linearLayoutManager.removeAllViews();
myList.clear();
myList.addAll(newList);
myRecyclerAdapter.notifyDataSetChanged();
}
'updateRecyclerView'が呼び出されたのを確認しましたか?なぜ、あなたは単にrecyclerviewを更新したいのですが、 'linearLayoutManager'のすべてのビューを削除しますか?また、 'if'が1つのステートメントしか持たない場合でも、大括弧を使う方が良いでしょう。 –
'updateRecyclerView'がnewListの新しいレコードセットで呼び出されています。私は 'linearLayoutManager'の' removeAllViews 'を削除しました。それでも動作していません。 – MohanRaj
アダプタコードも転記できますか? –