0
点赞
收藏
分享

微信扫一扫

android随手记(四)

19. .9图片

在drawBitmap中使用.9图片时,需要用NinePatch,否则不生效

android随手记(四)_内存不足

20.fragment重叠问题

出现原因:由于翻转屏幕或内存不足导致activity被销毁,fragmentactivity会自动保存fragment但是视图的可见状态未保存,所以当activity重新创建的时候,创建和恢复就会出现2个fragment重叠的情况

解决方法:

1.通过在onSaveInstanceState中将保存的信息制空即可

protected void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

outState.putParcelable("android:support:fragments", null);

}

2.自己保存fragment的显示状态

public class BaseFragment extends Fragment {

private static final String STATE_SAVE_IS_HIDDEN = "STATE_SAVE_IS_HIDDEN";

@Override

public void onCreate(@Nullable Bundle savedInstanceState) {

...

if (savedInstanceState != null) {

boolean isSupportHidden = savedInstanceState.getBoolean(STATE_SAVE_IS_HIDDEN);

FragmentTransaction ft = getFragmentManager().beginTransaction();

if (isSupportHidden) {

ft.hide(this);

} else {

ft.show(this);

}

ft.commit();

}

@Override

public void onSaveInstanceState(Bundle outState) {

...

outState.putBoolean(STATE_SAVE_IS_HIDDEN, isHidden());

}

}

举报

相关推荐

0 条评论