android随手记(四)
  qemiDMYdBgd5 2023年12月08日 16 0

19. .9图片

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

android随手记(四)_ide

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());

}

}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

qemiDMYdBgd5