こんにちは私はフラグメント内にTabLayoutとViewPagerを持っています。しかし、私は子供の断片に来るためにタブ間をスライドすることはできません(アクティビティでは正常に動作しますが、フラグメントでは動作しません)。ここでTabLayoutでViewPagerがフラグメント内で動作しないAndroid
がフラグメント内部Tablayoutための私のコードです:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View inflateView = inflater.inflate(R.layout.fragment_assign_beacon_to_event, container, false);
//Viewpager and TabLayout
viewPager = (ViewPager)inflateView.findViewById(R.id.viewPager);
viewPager.setAdapter(new CustomAdapter(getFragmentManager(), getContext()));
tabLayout = (TabLayout)inflateView.findViewById(R.id.tabLayout);
// Inflate the layout for this fragment
return inflateView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
});
Any here is my Custom Adapter class
private class CustomAdapter extends FragmentPagerAdapter {
private String fragments[] = {"Assign Event", "Manage Event"};
public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) {
super(supportFragmentManager);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
// return new AssignEventToBeacon();
return new Test1();
case 1:
return new ManageEventAssigned();
default:
return null;
}
}
@Override
public int getCount() {
return fragments.length;
}
@Override
public CharSequence getPageTitle(int position) {
return fragments[position];
}
}
私は私がこの回線に問題があります疑う:
viewPager.setAdapter(new CustomAdapter(getFragmentManager(), getContext()));
Anyhelpは感謝
viewPager.setAdapterとして試してください(新しいCustomAdapter(getSupportFragmentManager()、getContext())); // getSupportFragmentManager()またはgetChildFragmentManager() –
この質問を見ると、あなたが望むものがすべてあります。 http://stackoverflow.com/q/34015117/2404262 –
あなたのお返事ありがとうございます。私は両方を試みたが、うまくいかなかった。とにかく、tablayoutとViewPagerを、アクティビティと同じようにフラグメント化するには? –