Как я могу использовать MultiSnapRecyclerView от TakuSemba во фрагментах Android? - PullRequest
0 голосов
/ 02 марта 2019

Я включил реализацию 'com.github.takusemba: multisnaprecyclerview: 1.3.3' в файл Gradle моего приложения.

Я пытаюсь создать multiSnapRecyclerView для фильмов (работает / ожидается) и событий, поэтому янужно 3 реселлера.Я использую 2 адаптера, один для фильмов и другой для события.

Следующий код, который я включил в метод onSuccess фрагмента, а также использую для этого модификацию, так как я получаю информациюиз API

HomePageTestAdapter firstAdapter = new HomePageTestAdapter(mContext, list);
LinearLayoutManager firstManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false);
MultiSnapRecyclerView firstRecyclerView = view.findViewById(R.id.first_recycler_view);
firstRecyclerView.setLayoutManager(firstManager);
firstRecyclerView.setAdapter(firstAdapter);

HomePageTestAdapter secondAdapter = new HomePageTestAdapter(mContext, list);
MultiSnapRecyclerView secondRecyclerView = view.findViewById(R.id.second_recycler_view);
LinearLayoutManager secondManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false);
secondRecyclerView.setLayoutManager(secondManager);
secondRecyclerView.setAdapter(secondAdapter);

EventTestHomeAdapter thirdAdapter = new EventTestHomeAdapter(mContext.getApplicationContext(), list);
MultiSnapRecyclerView thirdRecyclerView =  view.findViewById(R.id.third_recycler_view);
LinearLayoutManager thirdManager = new LinearLayoutManager(mContext.getApplicationContext(), LinearLayoutManager.HORIZONTAL, false);
thirdRecyclerView.setLayoutManager(thirdManager);
thirdRecyclerView.setAdapter(thirdAdapter);

Список содержит ответ на вызов API модернизации, содержащий Список фильмов и событий.

Помогите мне, как использовать его во фрагменте.Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

используйте getActivity() вместо контекста.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_recycler, container, false);
MultiSnapRecyclerView firstRecyclerView=view.findViewById(R.id.first_recycler_view);
LinearLayoutManager firstManager = new LinearLayoutManager(getActivty(),LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
HomePageTestAdapter firstAdapter = new HomePageTestAdapter(getActivity(), list);
firstRecyclerView.setAdapter(firstAdapter);
public class SharedData{
    public static List<PojoClassName> list= new ArrayList<>();

   insert getter and setter method
}

после этого, когда вы получаете данные с сервера, вы можете установить данные списка следующим образом:

SharedData.setList (response);

и при получении таких данных: list

SharedData.getList ();

после этого вы получаете доступ к списку во фрагменте onCreateView ()

...