Я делаю приложение для ведения счета, используя вкладки, табличный макет, фрагменты и FragmentPagerAdapter. Приложение работает нормально, но я не могу понять, как получить доступ к фрагментам. Выполнив некоторую работу с фрагментом, я хочу получить доступ к фрагменту, чтобы обновить его оценку. Как я могу получить доступ к текущему фрагменту?
Редактировать - моя главная проблема - найти позицию. Я могу использовать tabLayout.getSelectedTabPosition(), чтобы получить правильную позицию, если я нажму на вкладку, но если я прокручиваю между вкладками, viewpager обрабатывает это по-другому, и я не знаю, как найти позицию из этого.
public class PagerAdapter extends FragmentPagerAdapter {
private int numTabs;
public PagerAdapter(FragmentManager fm, int tabs) {
super(fm);
numTabs = tabs;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return makeScoreFrag(1, "Team 1");
case 1:
return makeScoreFrag(2, "Team 2");
case 2:
return makeScoreFrag(3, "Team 3");
case 3:
return makeScoreFrag(4, "Team 4");
default:
return null;
}
}
@Override
public int getCount() {
return numTabs;
}
private ScoreFragment makeScoreFrag(int num, String title){
Bundle bundle = new Bundle();
bundle.putInt("score", 0);
bundle.putInt("number", num);
bundle.putString("title", title);
ScoreFragment frag = new ScoreFragment();
frag.setArguments(bundle);
return frag;
}
}