2

Я загружаю несколько Recycler Views внутри одного фрагмента.
Проблема Ни в одном из Recycler Views не работает.
Мой код выглядит следующим образом:Android: несколько ресайклеров Внутри фрагмента

View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
    recyclerViewNoResult = (RecyclerView)rootView.findViewById(R.id.recycler_view_home); 
       LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); 
       recyclerViewNoResult.setLayoutManager(linearLayoutManager); 
       productListPageAdaptorNoView = new ProductListPageAdaptorNoView(); 
       recyclerViewNoResult.setAdapter(productListPageAdaptorNoView); 


    recyclerViewNoResult2 = (RecyclerView)rootView.findViewById(R.id.recycler_view_home); 
       LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); 
       recyclerViewNoResult2.setLayoutManager(linearLayoutManager); 
       productListPageAdaptorNoView2 = new ProductListPageAdaptorNoView2(); 
       recyclerViewNoResult2.setAdapter(productListPageAdaptorNoView2); 

    recyclerViewNoResult.setVisibility(View.VISIBLE); 
    recyclerViewNoResult2.setVisibility(View.GONE); 
return rootView; 
+0

не могли бы вы отправить сообщение R.layout.fragment_main –

ответ

2

Проблема заключается в том, что оба RecyclerView refrences имеют в виду то же RecyclerView ('R .id.recycler_view_home ') в xml. Вы устанавливаете видимость на Visible, а затем Gone to same RecyclerView, поэтому ничего не появляется.

2

Вы используете тот же вид идентификатор для обоих: «» R.id.recycler_view_home

+1

Да, вы пробовали комментировать одну из них? –

+1

Если вы хотите, чтобы несколько видов в вашем макете использовали разные идентификаторы, и чтобы представления не накладывались друг на друга. И вы скрываете одно из своих взглядов без каких-либо условий. Проверьте свои адаптеры и разместите свой xml-макет – adnbsr

0

Вам необходимо будет создать макет программно, чтобы обрабатывать оба из них. Это означает, что вам также нужно будет учесть, где они будут размещаться в представлении. Например, второй Recycler сидит рядом с первым. Извините, я не могу привести примеры того, как это сделать, поскольку я в настоящее время изучаю это сам.

Редактировать: Если вы делаете то, что предложили другие, вы можете это сделать, но если вы хотите добавить больше, значит, вам нужно добавить больше в layout.xml файла макета фрагментов. Это статический способ обойти это, и может быть то, что вы ищете, но динамический подход сам по себе будет хорошо служить. Например, вы можете отключить их в цикле на основе размера массива. Каждый из них будет выполнен для просмотра в свою очередь. Пользователю они все присутствуют. Хотя список переработчиков также необходимо будет сделать программным путем.

Смежные вопросы