由於某種原因,當我調用addFrag函數/方法來填充我的片段和字符串標題時,出現錯誤。我正在用適配器創建一個簡單的ViewPager
。順便提一下,這是一個片段。下面是代碼:調用函數/方法時出錯?
public class HomeFragment extends Fragment {
private View view;
private ViewPager viewPager;
private TabLayout tabLayout;
private PagerAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup viewGroup,
@Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.home_fragment, viewGroup, false);
viewPager = (ViewPager) view.findViewById(R.id.viewpager);
setUpViewPager(viewPager);
tabLayout = (TabLayout) view.findViewById(R.id.sliding_tabs);
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
return view;
}
private void setUpViewPager(ViewPager viewPager) {
adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFrag(new ContentFragment(), "ONE");
adapter.addFrag(new ContentFragment(), "TWO");
adapter.addFrag(new ContentFragment(), "THREE");
viewPager.setAdapter(adapter);
}
}
class ViewPagerAdapter extends FragmentPagerAdapter{
private final List<Fragment> fragmentList = new ArrayList<>();
private final List<String> tabTitles = new ArrayList<>();
//Default Fragment Constructor
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
public void addFrag(Fragment fragment, String title){
fragmentList.add(fragment);
tabTitles.add(title);
}
@Override
public CharSequence getPageTitle(int position){
return tabTitles.get(position);
}
}
當我嘗試鍵入adapter.addFrag(new ExampleFragment(), "Hello");
我得到一個錯誤無法解決方法addFrag。任何幫助將不勝感激。
什麼是'ContentFragment()'? –
ContentFragment()是一個片段的實例,例如,我會創建一個名爲ContentFragment的新類並擴展Fragment。 –