首页 > 解决方案 > 如何在 Kotlin 中对片段使用 setUserVisibleHint

问题描述

在我的应用程序中,我想使用fragment并且我想Toast在用户看到fragment显示消息时显示消息。
我写了下面的代码,但是当显示fragment不显示任何内容时Toast
java中我没有任何问题并显示Toast,但是当使用kotlin时 显示Toast

我的代码:

class TestFragment : Fragment() {

    private val title by lazy { arguments?.getString("title") ?: "" }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_test, container, false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        testFragText.text = title
    }

    override fun setUserVisibleHint(isVisibleToUser: Boolean) {
        super.setUserVisibleHint(isVisibleToUser)
        if (isVisibleToUser){Toast.makeText(context, "Show", Toast.LENGTH_SHORT).show()}
    }
}

我该如何解决?

标签: androidandroid-fragmentskotlin

解决方案


推荐阅读