首页 > 解决方案 > Kotlin 不允许多重继承。我怎样才能做等效的事情?

问题描述

class MainActivity : YouTubeBaseActivity() ,AppCompatActivity() (error:multiple inheritance)  {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // attaching layout xml
    setContentView(R.layout.activity_main)
    val adapter = PagerAdapter(supportFragmentManager)
    val pager = findViewById<View>(R.id.pager) as ViewPager

    pager.adapter = adapter

    // Initializing YouTube player view
    val youTubePlayerView = findViewById(R.id.youtube_player_view) as YouTubePlayerView
    youTubePlayerView.initialize("YOUR API KEY",
            object : YouTubePlayer.OnInitializedListener {
                override fun onInitializationSuccess(provider: YouTubePlayer.Provider,
                                                     youTubePlayer: YouTubePlayer, b: Boolean) {

                    // do any work here to cue video, play video, etc.
                    youTubePlayer.cueVideo("5xVh-7ywKpE")
                }

                override fun onInitializationFailure(provider: YouTubePlayer.Provider,
                                                     youTubeInitializationResult: YouTubeInitializationResult) {

                }
            })

}

我在这个应用程序中使用YoutubeViewwith 。ViewPager我收到一个错误,因为我无法使用AppCompatActivity().supporFragmentManager(error).

Kotlin 不支持多重继承。我该怎么做?

标签: androidinheritancekotlin

解决方案


您不应该在 Avtivity 中扩展 FragmentManager。Activity 已经包含 fragmentManager 的实例,所以你可以像getFragmentManager()在 Kotlin 中一样获得它fragmentManager


推荐阅读