I have a problem recreating Fragmentin onNewIntentmy activity:
public class MessageActivity extends NavigationActivity {
private FragmentManager fragmentManager = null;
private MessageFragment fragment = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.fragmentManager = this.getSupportFragmentManager();
this.fragment = (MessageFragment) this.fragmentManager.findFragmentByTag(FragmentTags.MESSAGE.getValue());
if (savedInstanceState == null) {
this.fragment = new MessageFragment();
this.fragmentManager.beginTransaction().replace(R.id.menu_slide_main_content, this.fragment, FragmentTags.MESSAGE.getValue()).commit();
}
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
this.setIntent(intent);
this.fragmentManager = this.getSupportFragmentManager();
this.fragment = (MessageFragment) this.fragmentManager.findFragmentByTag(FragmentTags.MESSAGE.getValue());
if(fragment == null) {
this.fragment = new MessageFragment();
}
this.fragmentManager.beginTransaction().replace(R.id.menu_slide_main_content, this.fragment, FragmentTags.MESSAGE.getValue()).commit();
}
}
FragmentThe one I'm trying to recreate has SlidingTabLayoutand ViewPager:
public class MessageFragment extends Fragment {
private SlidingTabLayout slidingTabLayout;
private ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_message_fragment, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
this.viewPager = (ViewPager) view.findViewById(R.id.messages_pager);
this.viewPager.setId(0x5000);
this.viewPager.setAdapter(new MessagePagerAdapter(this.getActivity(), this.getFragmentManager()));
this.slidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.messages_tab_layout);
this.slidingTabLayout.setViewPager(this.viewPager);
}
}
Now that is called onNewIntentand I recreate the FragmentFragments in my
SlidingTabLayoutempty and rolling does not work anymore.
How can I solve this problem?
source
share