【问题标题】:Saving view values while switching between activities in android在android中的活动之间切换时保存视图值
【发布时间】:2011-11-04 11:15:34
【问题描述】:

我正在开发 android 中的选项卡式应用程序。在第一个选项卡中,我有一个带有文本视图、微调器的搜索引擎。如果我填写了这些参数并切换到其他选项卡或搜索结果活动,然后我返回到此选项卡(搜索引擎选项卡),我发现所有字段被重新初始化。但我想保留它们的价值以记住我搜索的内容.. 当我在活动之间切换时,有没有办法保留我的数据?

感谢您的帮助。

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    您可以覆盖 onSaveInstanceState(将在您转换到新活动之前调用)和 onRestoreInstanceState(将在您的活动恢复之前调用)例如:

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
      // Save UI state changes to the savedInstanceState.
      // This bundle will be passed to onCreate if the process is
      // killed and restarted.
      savedInstanceState.putBoolean("MyBoolean", true);
      savedInstanceState.putDouble("myDouble", 1.9);
      savedInstanceState.putInt("MyInt", 1);
      savedInstanceState.putString("MyString", "Welcome back to Android");
      // etc.
      super.onSaveInstanceState(savedInstanceState);
    }
    
    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState) {
      super.onRestoreInstanceState(savedInstanceState);
      // Restore UI state from the savedInstanceState.
      // This bundle has also been passed to onCreate.
      boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
      double myDouble = savedInstanceState.getDouble("myDouble");
      int myInt = savedInstanceState.getInt("MyInt");
      String myString = savedInstanceState.getString("MyString");
    }
    

    【讨论】:

      【解决方案2】:

      我猜您正在创建意图对象以使用addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 启动您的选项卡活动。如果你做了这样的事情,只需删除这个功能。例如,创建如下意图对象,

      Intent intent = new Intent(this, tabActivity.class);
      

      不是这样的,

      Intent intent = new Intent(this, tabActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      

      如果您这样做,您将在切换到另一个选项卡之前获得一个选项卡的确切状态。

      【讨论】:

        猜你喜欢
        • 2011-11-07
        • 2017-11-04
        • 2020-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        • 1970-01-01
        相关资源
        最近更新 更多