我有一个使用XML(活动中的setContentView())附加到活动的片段.有一个问题,因为我的片段中有非常动态的视图,因此当方向更改时,我必须恢复所有视图状态.
我有问题,因为我正在使用类似的东西:
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean("restore", true);
outState.putInt("nAndroids", 2);
}
Run Code Online (Sandbox Code Playgroud)
但是在方向更改后调用param Bundle savedInstanceState的方法时(如onCreateView等),我的savedInstanceState始终为null.
我不是Android中的菜鸟,但现在因为这个问题我很生气...
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (savedInstanceState == null) {
//smth
} else {
// smthelse THIS IS NEVER REACHED BECAUSE BUNDLE IS ALWAYS NULL
}
getListView().setDivider(getResources().getDrawable(R.drawable.list_divider));
}
Run Code Online (Sandbox Code Playgroud) 我有一个问题,因为我正在为棒棒糖开发应用程序support library v7,所以我需要使用标准ActionBar.以前我用过setHomeButtonEnabled 多个活动actionBar.
当我将app主题切换为材质时,一切正常,除了setHomeButtonEnabled方法.
标题不可点击.
救命!
我有一个startActivityForResult,片段和方向更改的问题.
我从一个片段调用startActivityForResult(),然后打开附加了片段的第二个活动.在第二个活动中,当我改变方向并返回第一个活动时,则调用onActivityResult(fragment方法).但是有一个问题,因为我有这样的事情:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
getActivity(); //here's a problem because
//getActivity is null but only after orientation change on second activity
}
Run Code Online (Sandbox Code Playgroud) android fragment orientation android-fragments android-activity