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