android-ListFragment setRetainInstance(true);不起作用

android-ListFragment setRetainInstance(true);不起作用,第1张

概述我用ListFragmentsetRetainInstance(true);不起作用,我不知道为什么savedInstanceState==null我的资料publicclassFragment_LeftextendsListFragment{@OverridepublicvoidonAttach(Activityactivity){super.onAttach(activity);

我用ListFragment

setRetainInstance(true);不起作用,我不知道为什么

savedInstanceState == null

我的资料

  public class Fragment_left extends ListFragment {        @OverrIDe        public voID onAttach(Activity activity) {            super.onAttach(activity);            Log.d(LOG_TAG, "Fragment1 onAttach");        }        public voID onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            Log.d(LOG_TAG, "Fragment1 onCreate");        }        @OverrIDe        public voID onActivityCreated(Bundle savedInstanceState) {            super.onActivityCreated(savedInstanceState);            setRetainInstance(true);        }        @OverrIDe        public voID onListItemClick(ListVIEw l, VIEw v, int position, long ID) {            getlistadapter().getItem(position);        }         public voID onSaveInstanceState(Bundle state) {                super.onSaveInstanceState(state);                Log.i(LOG_TAG, "onSaveInstanceState()");            }}
    public class Fragment_left extends ListFragment {        private ArrayList<Menu_item> menu_List;  .....     @OverrIDe        public voID onActivityCreated(Bundle savedInstanceState) {            super.onActivityCreated(savedInstanceState);            setRetainInstance(true);   menu_List = new ArrayList<Menu_item>();......

但是在打开屏幕后menu_List为空,或者我做错了什么?

解决方法:

how do I store an array in a fragment?

我假设“在片段中存储阵列”的意思是“保留整个配置更改中片段使用的阵列”.如果是这样的话:

选项#1:将其放入片段的数据成员中,然后对该片段调用setRetainInstance(true).

选项#2:如果数组是Bundle支持的数据类型,则覆盖onSaveInstanceState(),将数据放入Bundle,然后在配置更改后创建的新片段实例中以其他方法检索该数据(例如, onCreateVIEw()).

选项#3:如果该数组确实代表您的应用程序的数据模型,则将其保存在旧的和新的片段实例可以访问的中央持久位置中,例如数据库或文件.

总结

以上是内存溢出为你收集整理的android-ListFragment setRetainInstance(true);不起作用全部内容,希望文章能够帮你解决android-ListFragment setRetainInstance(true);不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1085624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存