Java 避免在片段寻呼机更改时重新创建相同的视图
当我更改片段页面时,请在InstanceItem中重新创建视图。 我怎样才能避免这种情况Java 避免在片段寻呼机更改时重新创建相同的视图,java,android,android-fragments,fragmentpageradapter,Java,Android,Android Fragments,Fragmentpageradapter,当我更改片段页面时,请在InstanceItem中重新创建视图。 我怎样才能避免这种情况 public class ContactPagerAdapter extends PagerAdapter implements IconTabProvider { @Override public Object instantiateItem(ViewGroup container, int position) { View view =null; Lay
public class ContactPagerAdapter extends PagerAdapter implements IconTabProvider {
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view =null;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.show_content,null);
container.addView(view, 0);
return view;
}
}
从a扩展到:
FragmentPagerAdapter
PagerAdapter的实现,它将每个页面表示为一个片段,只要用户能够返回到该页面,该片段就会一直保存在片段管理器中
此版本的寻呼机最适合在有少量静态片段需要分页时使用,例如一组选项卡。用户访问的每个页面的片段都将保存在内存中,尽管其视图层次结构在不可见时可能会被破坏。这可能导致使用大量内存,因为片段实例可以保持任意数量的状态。对于更大的页面集合,考虑FraceStasePeaServer Addio.<
这将使您的视图保留在内存中,而不是重新创建视图,因此请注意处理的数量。系统需要为每个页面调用此方法。
public static class ContactPagerAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
//inflate your fragment here
}
}