目前我正在设计一个应用程序,其中我有一个列表和列表的字母滚动条。要加载列表中的数据,我在 onCreate 中调用一个方法,并调用一个方法来为列表构建字母滚动条。现在我的问题是,当我改变方向时, onCreate 方法再次调用,因为这两个内部方法也再次调用。但我不想再次调用将数据加载到列表中的方法。意味着在改变方向时不应再次调用正在加载数据的方法,而应再次调用正在构建滚动条的方法。
请告诉我我该怎么做。
提前致谢
你可以添加这个:
android:configChanges="orientation"
在所需Activity
标签的清单中
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//reload your ScrollBars by checking the newConfig
}
发生这种情况是因为 android 假设已经创建了一个新活动。
在android 清单内的活动部分使用android :configChanges="orientation"
并且不要忘记覆盖此方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
然后将在方向更改时调用此方法。在此代码中执行您想要执行的操作。
您可以在活动清单中添加 android:configChanges="orientation" 并手动设置 contentView 或通过覆盖OnConfigurationChanged更改布局