现在是早上7点,我整晚都在搜索。 我有一个Nav抽屉和列表,它动态地将片段添加到Main活动并切换到单击的片段。
我是新手,所以让我试着解释一下我的尝试:
当我第一次开始这个项目时,它很好,现在每当我切换时我都会有黑色闪光,我找不到任何理由。 我认为在碎片的onCreate中是“沉重的”工作,但除了加载视图和设置他们的文本/图像之外没有太多工作,除了包含计时器的1个片段我还有4个其他什么都不做但是现有数据。
其中1个片段在代码中完全为空,它也会闪烁。
重要说明: 当我单击“后退”按钮时,没有闪光,动画运行顺畅。 我正在我自己的设备上测试Galaxy s5。
到目前为止,我所读到的内容并没有帮助: Whole screen turns into black for a short while when first switching between Fragment and MapFragment
Starting activity shows black flash
Switching between Android Navigation Drawer image and Up caret when using fragments
https://code.google.com/p/gmaps-api-issues/issues/detail?id=4639
**
** 我想我有一个领先优势: 闪烁可能是由我在提交新片段后立即调用的closeDrawer引起的。 当抽屉打开时,它背后的ui变暗,我禁用了那个近距离通话,当我更换碎片时没有闪烁。
我不知道如何修复它。
答案 0 :(得分:1)
在上次编辑后,我对问题有了更好的描述,并找到了一个很好的解决方案(至少对我而言) 链接: DrawerLayout's item click - When is the right time to replace fragment?
private class DrawerItemClickListener implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
drawerLayout.closeDrawer(drawerList);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
switchFragments(position); // your fragment transactions go here
}
}, 200);
}
}