まったく同じ問題に遭遇しました!私はこれをcolors.xmlに持っていました
<resources>
<color name="white">#ffffffff</color>
</resources>
そしてstyles.xmlで
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/white</item>
</style>
問題は、アクティビティ内でフラグメント (ListView を含む) を使用すると、最初の実行時に ListView が背景 (必要なもの) として白い色を表示するが、2 回目の実行では ListView の背景が黒くなることでした。この問題は Android 4.0 にのみ存在しましたが (4.1 ではテストしていません)、Android 4.3、4.4、5 などでは問題なく動作しました。
白以外の色が使用された場合、黒の背景の問題はありませんでした。
したがって、白い背景が必要で、複数の背景をオーバードローしたくないので、styles.xml で windowBackground として白を設定することは重要でしたが、同時に黒の背景の問題が発生します。
解決策として、完全な白ではなく白である別の色を作成しました
<resources>
<color name="fakewhite">#fffefefe</color>
</resources>
そしてstyles.xmlで
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/fakewhite</item>
</style>
したがって、短い色 #ffffffff は ListView のようなビューでは #00000000 に変換され、ScrollView でもこの動作に気付きます。これは完璧な解決策ではないかもしれませんが、私にとってはうまくいきました!