Какой базовый фрагмент предпочитаете использовать и почему?В этой реализации layoutRes является абстрактным полем.
abstract class BaseFragment1 : Fragment() {
abstract val layoutRes: Int
override fun onCreateView(inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(layoutRes, container, false)
}
}
И в этой реализации layoutRes проходит через конструктор
abstract class BaseFragment2(@LayoutRes private val layoutRes: Int) : Fragment() {
override fun onCreateView(inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(layoutRes, container, false)
}
}
Я хочу знать, какую реализацию лучше использовать?Если у вас есть другое решение, вы можете поделиться им.Пример реализации:
class FramgnetA : BaseFragment1() {
override val layuotRes = R.layout.layout
}
class FragmentB : BaseFragment2(R.layout.layout)