首页 > 解决方案 > 我的嵌套片段的实现有什么问题?

问题描述

我正在使用来自 android studio 的模板,您在屏幕底部有一个导航栏,连接到 3 个片段。

在其中一个片段(HomeFragment)中,我想要一个秒表。我实现了这个功能,但它阻塞了HomeFragment.kt代码,所以我制作了一个包含秒表代码和布局的单独片段,并希望将其添加到HomeFragment.kt

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View
    {

        val stopwatch = Stopwatch()
        val ft: FragmentTransaction = childFragmentManager.beginTransaction()

        ft.replace(R.id.stopwatch, stopwatch)
        ft.commit()

        stopwatch.onNotify = {
            startNotification()
        }

        _binding = FragmentHomeBinding.inflate(inflater, container, false)

        return binding.root
    }

HomeFragment.kt,但它不起作用。

秒表片段应该出现在哪里fragment_home.xml

<FrameLayout
                android:id="@+id/stopwatch"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center" />

Stopwatch.kt类中与stopwatch.xml这里相关联:

override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)

        binding = StopwatchBinding.inflate(layoutInflater)
[...]

我究竟做错了什么?

标签: android-studiokotlinandroid-fragments

解决方案


推荐阅读