0
У меня есть активность с вкладками. В OnCreate метод деятельности у меня есть следующий код:Фрагменты или ViewPager не работают должным образом
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_team);
Intent i = getIntent();
myTeam = i.getParcelableExtra("TeamObject");
//MatchAsyncTask mat = new MatchAsyncTask()execute();
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbarTeam);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
final ViewPager viewPager = (ViewPager) findViewById(R.id.vpTeam);
setupViewPager(viewPager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabsTeam);
tabLayout.setupWithViewPager(viewPager);
CollapsingToolbarLayout collapsingToolbar =
(CollapsingToolbarLayout) findViewById(R.id.collapse_toolbar_team);
collapsingToolbar.setTitle(myTeam.getName());
ImageView img = (ImageView)findViewById(R.id.team_detail_header);
String strImg1 = "f"+String.valueOf(myTeam.getId());
int resId1 = getResources().getIdentifier(strImg1, "drawable", getPackageName());
img.setImageResource(resId1);
}
Код функции setWithViewPager заключается в следующем:
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
Bundle args = new Bundle();
args.putInt("TeamId",myTeam.getId());
PlayerFragment pf = new PlayerFragment();
pf.setArguments(args);
InfoMatchFragment partidos = new InfoMatchFragment();
adapter.addFrag(pf, "Plantel");
adapter.addFrag(partidos, "Partidos");
viewPager.setAdapter(adapter);
}
А класс адаптера для ViewPager является:
static class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
Проблема возникает, когда я указываю активность, а первый фрагмент загружается на первую вкладку, но когда я сажусь на вторую вкладку, тот же фрагмент отображается.
Спасибо за помощь.