先说说情况,按下home键后回到app后重启了app新生成了mainactivity,上代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Configuration mConfiguration = this.getResources().getConfiguration(); //获取设置的配置信息
int ori = mConfiguration.orientation;
if(ori == mConfiguration.ORIENTATION_PORTRAIT){
startService(new Intent(MainActivity.this,TokenService.class));
init();
}
EventBus.getDefault().register(this);
}
由于我这个页面使用了fragment,于是我改成了这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
FragmentManager fManager = getFragmentManager();
if (savedInstanceState != null) {
homeFragment = (HomeFragment) fManager.findFragmentByTag("homeFragment");
historyFragment = (HistoryFragment) fManager.findFragmentByTag("historyFragment");
mineFragment = (MineFragment) fManager.findFragmentByTag("mineFragment");
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Configuration mConfiguration = this.getResources().getConfiguration(); //获取设置的配置信息
int ori = mConfiguration.orientation;
if(ori == mConfiguration.ORIENTATION_PORTRAIT){
startService(new Intent(MainActivity.this,TokenService.class));
init();
}
EventBus.getDefault().register(this);
}
这样配置后问题解决了,记得添加时加上tag,比如这样:transaction.add(R.id.fragment, homeFragment,"homeFragment");
第一次发帖,菜鸟一个,说话比较简洁,希望支持。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Configuration mConfiguration = this.getResources().getConfiguration(); //获取设置的配置信息
int ori = mConfiguration.orientation;
if(ori == mConfiguration.ORIENTATION_PORTRAIT){
startService(new Intent(MainActivity.this,TokenService.class));
init();
}
EventBus.getDefault().register(this);
}
由于我这个页面使用了fragment,于是我改成了这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
FragmentManager fManager = getFragmentManager();
if (savedInstanceState != null) {
homeFragment = (HomeFragment) fManager.findFragmentByTag("homeFragment");
historyFragment = (HistoryFragment) fManager.findFragmentByTag("historyFragment");
mineFragment = (MineFragment) fManager.findFragmentByTag("mineFragment");
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Configuration mConfiguration = this.getResources().getConfiguration(); //获取设置的配置信息
int ori = mConfiguration.orientation;
if(ori == mConfiguration.ORIENTATION_PORTRAIT){
startService(new Intent(MainActivity.this,TokenService.class));
init();
}
EventBus.getDefault().register(this);
}
这样配置后问题解决了,记得添加时加上tag,比如这样:transaction.add(R.id.fragment, homeFragment,"homeFragment");
第一次发帖,菜鸟一个,说话比较简洁,希望支持。