首页 > 解决方案 > 访问 PreferenceFragment 后所有图像变为白色

问题描述

我正在创建我的 Android 应用程序并遇到了这个特殊的问题。我的队友之前都没有经历过这种情况,而我现在已经坚持了好几天了。

所以发生的情况是,在进入设置片段并返回后,所有图像(ImageView 和 Facebook SimpleDraweeView)都变成白色。

如果您看到下面的图片,您可能会看到所有图像如何变为白色。

如果我点击设置选项卡(右侧的最后一个)并返回任何选项卡,这总是会发生。

普通视图

错误后

我的设置片段的这一行是问题所在。

childFragmentManager.beginTransaction().replace(R.id.settings_container, MainSettingsFragment()).commit()

如果我将此行注释掉,那么一切都很好。问题是,下面的行不会引起任何问题。上面的行是针对片段的,下面的行是针对活动的。

supportFragmentManager.beginTransaction().replace(R.id.msettings_container, MainSettingsFragment()).commit()

下面是片段生命周期的代码块。


    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        profile_profileimage.setOnClickListener {
            val imageList = arrayListOf(MainActivity.myProfile)
            val overlay = ImageOverlayView(requireContext())
            ImageViewer.Builder(requireContext(), imageList)
                .hideStatusBar(false)
                .allowZooming(true)
                .allowSwipeToDismiss(true)
                .setOverlayView(overlay)
                .setImageChangeListener { position ->
                    overlay.setImageUrl(MainActivity.myProfile)
                }
                .show()
        }
    }

    override fun onResume() {
        super.onResume()

        refreshMemorials()
        loadProfile()
    }

    private fun loadProfile() {
        activity?.runOnUiThread {
            ...
            profile_profileimage.setImageURI(MainActivity.myProfile)
            ...
        }
    }

这是 profile_profileimage 的 XML 代码

<com.facebook.drawee.view.SimpleDraweeView
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:id="@+id/profile_profileimage"
    app:actualImageScaleType="fitXY"
    app:roundAsCircle="true"
    app:roundingBorderWidth="1dp"
    app:roundingBorderColor="@android:color/white" />

但是,我想将设置作为片段之一。

我看不出这里出了什么问题。有没有办法解决这个问题?

标签: androidkotlinandroid-layoutandroid-fragments

解决方案


推荐阅读