Я использую RecyclerView
, чтобы показать данные, полученные после анализа веб-служб. Проблема в том, что notifydatasetchanged
вообще не работает. Для решения этой проблемы я снова устанавливаю адаптер.
У меня две проблемы с использованием этой техники:
При установке нового адаптера снова мигает экран.
Также вид ресайклера указывает на первый элемент вида ресайклера. (Я просто хочу добавить новые данные в конец существующего списка. Размер списка массивов обновляется. Но единственная проблема, список начинается с нулевой позиции.)
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_book_mag_list_child, container, false); recyclerView = (RecyclerView) view.findViewById(R.id.bookMagRecyclerViewList); bookMagDataList = new ArrayList<>(); adapter = new BookMagListRecyclerViewAdapter(getActivity(), bookMagDataList); recyclerView.setAdapter(adapter); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); //linearLayoutManager.setStackFromEnd(true); recyclerView.setLayoutManager(linearLayoutManager); recyclerView.setOnScrollListener(new EndlessRecyclerScrollListener(linearLayoutManager) { @Override public void onLoadMore(int current_page) { Log.d("Do Something", "Do Something" + current_page); params.setStart("" + current_page); dataModel.init(params); } }); return view; } @Override public void update() { if (dataModel.getFragmentData(subScreenId) != null) { bookMagDataList = dataModel.getFragmentData(subScreenId); Log.d("MyDataListSize: ", "" + bookMagDataList.size()); adapter = new BookMagListRecyclerViewAdapter(getActivity(), bookMagDataList); recyclerView.setAdapter(adapter); } }
Пожалуйста, проверьте, в чем проблема, и дайте мне знать, можно ли ее решить.
Adapter class
и вызовите из негоnotifyDataSetChanged();
. - person M D   schedule 02.02.2016