【问题标题】:Presenter is not called in onClick在 onClick 中未调用 Presenter
【发布时间】:2021-05-03 10:41:08
【问题描述】:

当尝试以这种方式膨胀并将我的演示者设置为我的数据绑定组件时,我的演示者方法不会被调用。

val fragmentBinding = FragmentListEditBinding.inflate(layoutInflater)
fragmentBinding.presenter = ListEditorPresenter(this, requireContext())

但是当使用这个时

val fragmentBinding = DataBindingUtil.setContentView<FragmentListEditBinding(requireActivity(), R.layout.fragment_list_edit)    
fragmentBinding.presenter = ListEditorPresenter(this, requireContext())

它工作正常,但布局覆盖全屏。 任何想法如何解决这个问题?

如果需要更多上下文,请告诉我。

【问题讨论】:

  • 查看答案并随时发表评论。

标签: android android-databinding presenter


【解决方案1】:

第二种方法是针对activity,不是针对fragment,对于fragment,你必须在第一种方法中进行。

在 DataBinding 和 ViewBinding 之前,In 和 activity 我们调用 setContentView(R.layout.activity_main) 来为 activity 设置视图,但对于 fragment,我们重写 onCreateView 方法并膨胀视图并返回它。

所以activityfragment的视图设置方式与一开始是不同的。

所以DataBindingUtil.setContentView 用于活动,而FragmentListEditBinding.inflate 自定义/手动充气用于片段。正如我上面已经提到的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2020-07-20
    相关资源
    最近更新 更多