0

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

请告诉我我该怎么做。

提前致谢

4

3 回答 3

4

你可以添加这个:

android:configChanges="orientation"

在所需Activity标签的清单中

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    //reload your ScrollBars by checking the newConfig
}
于 2013-02-19T07:35:20.367 回答
2

发生这种情况是因为 android 假设已经创建了一个新活动。

在android 清单内的活动部分使用android :configChanges="orientation"

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

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

然后将在方向更改时调用此方法。在此代码中执行您想要执行的操作。

于 2013-02-19T07:39:38.540 回答
0

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

于 2013-02-19T07:38:11.693 回答