0
뷰 파인더 안에 두 개의 프래그먼트를 사용하고 있습니다. 두 번째 단편에서는 exoplayer를 사용하여 URL에서 비디오를 재생합니다. 내 문제는 활동이 시작될 때 모든 조각이 뷰 페이지에서 자동으로 만들어지기 때문에 비디오가 자동으로로드된다는 것입니다. 한 번에 하나의 Frament를 작성하여 두 번째 조각이 사용자에게 표시되는 경우에만 (탭을 스 와이프하거나 탭하여) 동영상을 재생할 수 있도록하는 방법.뷰 페이지를 사용하여 한 번에 하나의 프래그먼트를 만드는 방법
final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(), bundle);
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
이 제발 도와주세요 활동 인사이드 viewpager 어댑터
class ViewPagerAdapter extends FragmentStatePagerAdapter {
Bundle bundle;
public ViewPagerAdapter(FragmentManager manager, Bundle bundle) {
super(manager);
this.bundle = bundle;
}
@Override
public Fragment getItem(int position) {
Log.d("getItem", position + "");
switch (position) {
case 0:
IngredientListFragment ingredientListFragment = new IngredientListFragment();
ingredientListFragment.setArguments(bundle);
return ingredientListFragment;
case 1:
StepsListFragment stepsListFragment = new StepsListFragment();
stepsListFragment.setArguments(bundle);
return stepsListFragment;
default:
IngredientListFragment ing = new IngredientListFragment();
ing.setArguments(bundle);
return ing;
}
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "Ingredients";
case 1:
return "Steps";
default:
return "Ingredients";
}
}
}
.
감사합니다. @ divyesh-patel. 당신의 솔루션은 잘 작동합니다. – scalp007