【问题标题】:SaveInstanceState on ListView objectsListView 对象上的 SaveInstanceState
【发布时间】:2015-01-15 14:36:14
【问题描述】:

我有一个执行电影搜索并将 JSON 结果解析为“电影”对象的活动。 解析电影对象后,将被插入 ListView 适配器。 当我改变方向时,活动重新开始,结果消失了。

我怎样才能防止这种情况发生或保存对象并在RestoreInstanceState 上恢复它们​​?

我已经尝试过 onConfigurationChanged。

【问题讨论】:

    标签: android json listview bundle instance


    【解决方案1】:

    你需要做一些重构。

    首先实现 onSaveInstanceState 并将您的列表保存到包中

    @Override
    protected void onSaveInstanceState (Bundle outState){
      outState.putSerializable("mylist", mylist);
    }
    

    然后在您的 OnCreate 检查您的捆绑包是否有列表并在不再次获取您的列表的情况下操作您的列表视图

    @Override
    protected void onCreate (Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      if(savedInstanceState!=null && savedInstanceState.getSerializable("mylist")!=null){
          populateListView(savedInstanceState.getSerializable("mylist"));
      }else{
          fetchList();
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多