Первый: я довольно новичок в android. Этот проект, вероятно, выше моей зарплаты, поэтому, если я задам неправильный вопрос, по крайней мере, вы понимаете.
Я хочу использовать TabLayout с ViewPager2 с представлениями, которые будут содержаться на каждой странице, из сложных фрагментов. Каждая страница будет иметь одинаковое определение фрагмента. Насколько я могу сказать, ViewPager2 зависит от RecyclerView. Я пытался использовать LinearLayout для каждой страницы, и я продолжал получать ошибку, которая ссылалась на RecyclerView.Adapter.
Я создаю recyclerView из другого фрагмента как:
recyclerView = (RecyclerView) mView.findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
// use a linear layout manager
layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
List<String> input = new ArrayList<>();
for (int i = 0; i < 5; i++) {
input.add("Test" + i);
}// define an adapter
mAdapter = new SalinasAdapter(input, this);
recyclerView.setAdapter(mAdapter);
и OnCreateViewHolder от SalinasAdapter
public SalinasAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// create a new view
View v = null;
FragmentManager fm = mFragment.getChildFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
// Add the fragment but do not put it in a container
ft.add(new RowFragment(), Integer.toString(mIndex));
ft.commit();
ft.commitNow();
// Find the fragment from the fragment manager
Fragment foo = fm.findFragmentByTag(Integer.toString(mIndex));
mIndex++;
// Keep track of the index in an ArrayList<String> so they can be removed from the
// FragmentManager when needed.
// ToDo
// Make sure it is mine
if (foo instanceof RowFragment){
v = foo.getView();
}
// Add the view to a ViewHolder
ViewHolder vh = new ViewHolder(v);
return vh;
}
Исходя из этого, я предполагаю, что реальные представления передаются в ViewHolder, и он может найти все элементы, необходимые для правильной установки данных.
Когда приложение показывает, пять строк в течение коротких нескольких секунд, прежде чем он падает.
Я думаю, у меня есть два вопроса: это правильный взгляд на эту проблему? Есть ли способ отладки, чтобы отследить трассировку стека неисправностей?