#android #android-studio #android-recyclerview
Вопрос:
Эта проблема была опубликована несколько раз. Но Android Studio иногда бывает настолько раздражающе глупой, что внезапно что-то перестает работать.
У меня есть 2 версии с ТОЧНО ТАКИМ ЖЕ КОДОМ, а другая версия перестала работать и показывает E/RecyclerView: No adapter attached; skipping layout
очищенный. ВОССТАНОВЛЕННЫЙ ПРОЕКТ. АННУЛИРОВАТЬ КЭШ.
Нужна помощь с предложениями. Так неприятно.
if (allLeadsList.isEmpty()) { leadsEmptyLayout.setVisibility(View.VISIBLE); swipeRefreshLayout.setVisibility(View.GONE); searchListLoading.setVisibility(View.GONE); } else { LinearLayoutManager layoutManager = new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false); recyclerView.setLayoutManager(layoutManager); leadsListAdapter = new LeadsListAdapter(getApplicationContext(), adapterOnclick, allLeadsList); recyclerView.setAdapter(leadsListAdapter); final LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(LeadHomeActivity.this, R.anim.layout_animation_down_to_up); nestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (scrollY == v.getChildAt(0).getMeasuredHeight() - v.getMeasuredHeight()) { Constants.currentPage ; generateNextList(Constants.currentPage); } } }); recyclerView.setLayoutAnimation(controller); leadsListAdapter.notifyDataSetChanged(); recyclerView.scheduleLayoutAnimation();
Комментарии:
1. Как именно вы изолировали это от проблемы Android Studio? Есть ли у вас тесты, чтобы проверить правильность вашего кода?
2. Я сказал 2 проекта с ТОЧНО ТАКИМ ЖЕ КОДОМ. Единственное различие между 2 — мя-это значок приложения. Все они работали. Затем внезапно, после нескольких дней отдыха, эта глупая студия Android показала ошибку в другой версии. Другой отлично работал с автофокусом.
3. Таким образом, оба приложения имеют одинаковое пространство имен и идентификатор приложения, если это ТОЧНО ОДИН и ТОТ ЖЕ КОД? Ошибка является несмертельным сообщением журнала, только это указывает на то, что ваш список пуст.
4. Однако в журнале отображается ответ. проверяю также почтальона.
5. Значит, список заполняется асинхронно? Мутирует ли он в разных потоках? При оценке он пуст, а затем заполняется позже .. что может означать, что в зависимости от задержки иногда это может сработать, в то время как в другое время этого не произойдет, особенно если сетевой ответ кэшируется? Вам необходимо предоставить полную логику заполнения списка. Просто инициализируйте представление переработчика и адаптер пустым списком, а затем обновите список, когда ваш сетевой ответ вернется. Похоже, у вас проблемы с логикой.