Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 碎片消失_Android_View_Android Fragments - Fatal编程技术网

Android 碎片消失

Android 碎片消失,android,view,android-fragments,Android,View,Android Fragments,我在一个应用程序中使用片段时遇到问题。 该应用程序由一个主框架组成,当按下一些按钮时,内容片段将被替换(将其视为一个类似于选项卡的布局)。 到目前为止,一切正常工作,但有时在切换片段后,片段帧的全部内容消失。修复此问题的一种方法是按下应用程序切换按钮,将应用程序置于后台,然后再次将应用程序置于前台。这似乎重新绘制了屏幕,我可以再次看到我的片段 视图层次结构转储为我提供了与屏幕上看到的相同的功能,因此,如果出现错误,片段帧为空,但当我在调试模式下检查布局时,一切都正常工作。片段和视图已正确替换,但

我在一个应用程序中使用片段时遇到问题。 该应用程序由一个主框架组成,当按下一些按钮时,内容片段将被替换(将其视为一个类似于选项卡的布局)。 到目前为止,一切正常工作,但有时在切换片段后,片段帧的全部内容消失。修复此问题的一种方法是按下应用程序切换按钮,将应用程序置于后台,然后再次将应用程序置于前台。这似乎重新绘制了屏幕,我可以再次看到我的片段

视图层次结构转储为我提供了与屏幕上看到的相同的功能,因此,如果出现错误,片段帧为空,但当我在调试模式下检查布局时,一切都正常工作。片段和视图已正确替换,但未显示在显示屏上

我已经尝试了不同的方法来管理片段(如显示/隐藏、替换、添加/删除),并尝试通过隐藏、显示或使整个视图树无效以及禁用硬件加速来解决这个问题,但结果总是一样的


Edit:As requestet当前版本的一些代码示例,但我也尝试先添加所有片段,然后显示/隐藏具有相同结果的片段:

在onCreate of MainActivity(扩展FragmentActivity)中添加第一个片段:

更改片段(确保从ui线程调用):


好的。。。这是说得太多了。。。不要从UI线程以外的其他线程操作UI。。。通过aidl进行的服务回调至少不总是从UI线程调用。

发布一些代码,也许我们可以帮助您:现在好像已经修好了。。。我明天会核实的。我在其中一个片段中有一个子组件,它正在从服务回调更新文本字段。删除此项后,我现在没有更多的否定意见。。。
    final FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
    tx.add(R.id.tabContent, new MyFirstTab());
    tx.commit();
private void changeTab(final Fragment tab) {
FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction tx = fm.beginTransaction();
tx.replace(R.id.tabContent, tab);
tx.commit();
}