在 Android 内视图完成渲染之前显示片段

Fragments show before Views finish rendering in Android

我的 Android 应用程序出现问题:最近,当我在片段之间切换时,在正确显示子视图之前,它们的布局显示为 XML。 例如,在片段的 onCreateView 中,当我在 TextView 中设置文本或更改视图的可见性时,片段布局会显示 XML 中定义的几分之一秒,然后再计算我以编程方式所做的更改.

我没有对应用程序进行任何重大更改,我认为这与 Android 版本无关,因为我仍然在模拟器中安装了我的应用程序的旧版本,它们运行良好,当我安装新版本时,它不能正常工作。 可能和Android studio 版本有关,因为无论我怎么尝试回到旧版本,似乎都没有用。

我想要的是让我的应用程序像以前一样:一旦在 onCreateView 中以编程方式更改的内容完成(而不是之前),就会显示每个片段布局。

有没有其他人经历过这种奇怪的行为?

我认为您的问题是您在片段的 onCreateView 中设置了文本。您应该将其设置在片段的 onViewCreated 上。

像这样:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        # initialize
        mText = view?.findViewById(R.id.[codeTextView])!!
        mText.text = "test"
    }

希望有用!