哪个基本片段更喜欢使用,为什么? 在此实现中,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)
答案 0 :(得分:2)
类似于Best practice for instantiating a new Android Fragment-对于可以从外部提供的参数,可以使用1-(var(fit@fit$u) / var(log(mydataframe$realised_measure)))
和Bundle
例如
Fragment#setArguments(Bundle)
否则,您的解决方案就可以了,但是每个参数都需要一个新的类。用kotlin编写课程很便宜,所以我认为它是首选。
答案 1 :(得分:0)