处理配置时,活动组合变得混乱自己

时间:2017-03-31 15:29:48

标签: android

我在活动中添加了此代码

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

        setContentView(R.layout.activityView);

}

并在清单文件中添加了这一行

android:configChanges="orientation|keyboardHidden|screenSize"

活动没有重新启动,但布局未正确加载:并非所有组件都显示,并且按钮单击列表器从未被调用...

我为所有布局使用相同的名称文件。但取决于方向不同的内容。

我甚至尝试过不同的名字:activityView_port / activityView_land并将代码更改为:

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

    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        setContentView(R.layout.activityView_port);

    } else {
        setContentView(R.layout.activityView_land);
    }
}

但没有任何工作......

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

 setContentView(R.layout.activityView_land);
  

请不要在配置更改时调用上述方法。相反,您可以尝试使用一些标志来确定必须设置的布局并调用reCreate()方法。

If don't want to destroy the current instance, better you can try removing and adding of views with animation.