in my application i'm using support view pager and PagerTabStrip. into view pager i have some fragment and into one of that i'm using support cardview. after run application all card view items show correctly, but after rotate phone from portrait to landscape, content hide.
UPDATE:
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
Globals.setActivity(this);
contentFragment = ContentFragment.newInstance(R.drawable.ic_launcher);
getSupportFragmentManager().beginTransaction()
.replace(R.id.frame_container, contentFragment)
.commit();
current_fragment_id = 0;
updateFragment(current_fragment_id);
drawer_adatper =
new DrawerAdatper(
this, R.layout.drawer_item_layout, R.layout.drawer_item_group_layout, drawer_items);
drawer_list.setAdapter(drawer_adatper);
}
ContentFragment
fragment:
public class ContentFragment extends Fragment implements ScreenShotable {
public static ContentFragment newInstance(int page) {
ContentFragment fragmentFirst = new ContentFragment();
Bundle args = new Bundle();
args.putInt("page", page);
fragmentFirst.setArguments(args);
return fragmentFirst;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt("page", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_online_categories, container, false);
ButterKnife.inject(this, view);
initializeUi();
pager_header.setTabIndicatorColor(Color.parseColor(Arrays.asList(pageTabIndicatorColors).get(0)));
BootStrapPagerAdapter adapterViewPager = new BootStrapPagerAdapter(getActivity().getSupportFragmentManager());
return view;
}
public static class BootStrapPagerAdapter extends FragmentPagerAdapter {
private static int NUM_ITEMS = 8;
public BootStrapPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return FragmentContactList.newInstance(0);
}
}
@Override
public CharSequence getPageTitle(int position) {
String title = "";
switch (position) {
case 0:
title = Utils.getString(R.string.section_industry);
break;
}
return title;
}
}
}
FragmentContactList
:
public class FragmentContactList extends Fragment {
private StackTraceElement[] traceElements = Thread.currentThread().getStackTrace();
private int page;
RecyclerView rv;
private List<Person> persons;
public static FragmentContactList newInstance(int page) {
FragmentContactList fragmentFirst = new FragmentContactList();
Bundle args = new Bundle();
args.putInt("page", page);
fragmentFirst.setArguments(args);
return fragmentFirst;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt("page", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.recyclerview_activity, container, false);
rv = (RecyclerView) view.findViewById(R.id.rv);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
rv.setLayoutManager(llm);
rv.setHasFixedSize(true);
initializeData();
initializeAdapter();
return view;
}
private void initializeData(){
persons = new ArrayList<>();
persons.add(new Person("Emma Wilson", "23 years old", R.drawable.icon_inbox));
persons.add(new Person("Lavery Maiss", "25 years old", R.drawable.icon_inbox));
persons.add(new Person("Lillie Watts", "35 years old", R.drawable.icon_inbox));
}
private void initializeAdapter(){
RVAdapter adapter = new RVAdapter(persons);
rv.setAdapter(adapter);
}
@Override
public void onResume() {
super.onResume();
getView().invalidate();
}
}