Наследование фрагмента в андроид
Есть три фрагмента которые отображают погоду:
- CurrentWeatherFragment - отображает текущую погоду
- ThreeDaysWeatherFragment - отображает погоду на следующие 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)
}