abstract val layoutRes: Int
                  
                  
                  
                  
                  
                      override fun onCreateView(inflater: LayoutInflater, 
                  
                  
                                                container: ViewGroup?, 
                  
                  
                                                savedInstanceState: Bundle?
                  
                  
                              ): View {
                  
                  
                          inflater.inflate(layoutRes, container, false)
                  
                  
                      }
                  
                  
                  }
                  
                  
                  2.
                  
                  
                  abstract class BaseFragment(@LayoutRes private val layoutRes: Int) : Fragment() {
                  
                  
                  
                  
                  
                      override fun onCreateView(inflater: LayoutInflater, 
                  
                  
                                                container: ViewGroup?, 
                  
                  
                                                savedInstanceState: Bundle?
                  
                  
                          ): View {
                  
                  
                              inflater.inflate(layoutRes, container, false)
                  
                  
                       }
                  
                  
                  }
                  
                  
                
1 потому что вторая не сработает при пересоздании фрагмента
вот имплементация второго варианта: class FragmentA : BaseFragment(R.layout.fragment){}
Обсуждают сегодня