2
我使用FragmentPagerAdapter和ViewPager顯示兩個片段。第一次打開片段時,都顯示/工作正常。當我去其他活動或去這些2以外的另一個片段並返回時,什麼也沒有顯示出來。這是代碼。來自另一個片段/活動後的片段不顯示
事件:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Events extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.event, container, false);
// Get the ViewPager and set it's PagerAdapter so that it can display items
ViewPager viewPager = (ViewPager) rootView.findViewById(R.id.pager);
FragmentManager fm = getFragmentManager();
viewPager.setAdapter(new MyFragmentPageAdapter(fm));
// Give the SlidingTabLayout the ViewPager
SlidingTabLayout slidingTabLayout = (SlidingTabLayout) rootView.findViewById(R.id.tabs);
// Center the tabs in the layout
slidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
@Override
public int getIndicatorColor(int position) {
return getResources().getColor(R.color.ColorSecondary);
}
});
slidingTabLayout.setDistributeEvenly(true);
slidingTabLayout.setViewPager(viewPager);
return rootView;
}
}
MYFramentAdapter.class:
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyFragmentPageAdapter extends FragmentPagerAdapter{
final int PAGE_COUNT = 2;
private String tabTitles[] = new String[] { "Upcoming", "Calendar" };
private Context context;
public MyFragmentPageAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int pos) {
switch(pos) {
case 0: return FragmentEvents.newInstance(0);
case 1: return FragmentCalendar.newInstance(1);
default: return null;
}
}
@Override
public CharSequence getPageTitle(int position) {
// Generate title based on item position
return tabTitles[position];
}
}
你試圖使用嵌套片段? (片段在另一片段內) –
沒有。單獨的片段。 2個選項卡中有2個片段。 –
那麼爲什麼事件片段中的ViewPager? –