Наследование фрагмента в андроид

Есть три фрагмента которые отображают погоду:

  1. CurrentWeatherFragment - отображает текущую погоду
  2. ThreeDaysWeatherFragment - отображает погоду на следующие 3 дня
  3. TenDaysWeatherFragment - отображает погоду на следующие 10 дней

Я решил создать родительский фрагмент WeatherFragment для трех моих фрагментов с погодой. Мне нужно чтоб родительский фрагмент содержал в себе BottomNavigationView для трех фрагментов с погодой, но я не могу понять как это сделать. Ничего подходящего в гугле мне найти не удалось, поэтому прошу помощи здесь. Заранее спасибо

WeatherFragment

abstract class WeatherFragment : Fragment() {

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

CurrentWeatherFragment

class CurrentWeatherFragment : WeatherFragment() {

    @Inject
    lateinit var currentWeatherFactory: CurrentWeatherFragment
    private lateinit var currentWeatherViewModel: CurrentWeatherViewModel

    private lateinit var weatherDataBinding: CurrentWeatherDataFragmentBinding

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

        weatherDataBinding = DataBindingUtil.inflate(
            layoutInflater, R.layout.current_weather_data_fragment, container, false
        )

        return weatherDataBinding.root
    }

ThreeDaysWeatherFragment

class ThreeDaysWeatherFragment : WeatherFragment() {

    @Inject
    lateinit var dailyWeatherFactory: DailyWeatherFactory
    private lateinit var dailyWeatherViewModel: DailyWeatherViewModel

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_three_days_weather, container, false)
    }

TenDaysWeatherFragment

class TenDaysWeatherFragment : WeatherFragment() {

    @Inject
    lateinit var dailyWeatherFactory: DailyWeatherFactory
    private lateinit var dailyWeatherViewModel: DailyWeatherViewModel

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_ten_days_weather, container, false)
    }

Ответы (0 шт):