在我的TabLayout中,我只使用一个动态片段尝试了这些tabLayout。所以我在getItem中使用了setArguments。
RecentSubTabAdapter.java:
public class RecentSubTabAdapter extends FragmentStatePagerAdapter{
ArrayList<String> myTitleList = new ArrayList<String>();
ArrayList<Fragment> myFragmentList = new ArrayList<Fragment>();
public void addFragment(Fragment f, String t)
{
myFragmentList.add(f);
myTitleList.add(t);
}
public RecentSubTabAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return myTitleList.size();
}
@Override
public Fragment getItem(int position) {
Bundle b = new Bundle();
b.putString("args", myTitleList.get(position));
myFragmentList.get(position).setArguments(b);
return myFragmentList.get(position);
}
@Override
public CharSequence getPageTitle(int position) {
return myTitleList.get(position);
}
}
我在myFragment中添加了getArgument,就像那样
Bundle b = getArguments();
myPosition = b.getString("args").toLowerCase();
第一次调用标签时没问题。但是当我调用多个标签并重新调用第一个标签时。它在getArguments中显示NULL POINTER EXCEPTION。 请帮助我