代码之家  ›  专栏  ›  技术社区  ›  Sachin Kadian

为什么在方向更改时再次创建重载

  •  0
  • Sachin Kadian  · 技术社区  · 11 年前

    目前我正在设计一个应用程序,其中有一个列表和列表的字母滚动条。为了加载列表中的数据,我在onCreate中调用了一个方法,同时也调用了一种方法来构建列表的字母滚动条。现在我的问题是,当我改变方向时,onCreate方法再次调用,因此两个内部方法也再次调用。但我不想再次调用将数据加载到列表中的方法。意味着当改变方向时,加载数据的方法不应再次调用,而构建滚动条的方法应再次调用。

    请告诉我该怎么做。

    提前感谢

    3 回复  |  直到 10 年前
        1
  •  4
  •   Archie.bpgc    11 年前

    您可以添加以下内容:

    android:configChanges="orientation"
    

    在所需的清单中 Activity 标签

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        //reload your ScrollBars by checking the newConfig
    }
    
        2
  •  2
  •   Florian Schrofner    9 年前

    之所以会发生这种情况,是因为android假定已经创建了一个新的活动。

    使用 android:configChanges=“方向” 在活动部分 android清单

    并且不要忘记覆盖此方法:

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);    
    }
    

    这个方法将在方向改变时被调用。在这个代码中做你想做的事情。

        3
  •  0
  •   Manish Kumar    11 年前

    您可以在活动清单中添加android:configChanges=“orientation”,并手动设置contentView或通过覆盖来更改布局 OnConfigurationChanged