android - 如何在MVVM设计模式中处理Facebook登录

标签 android mvvm

根据Android在MVVM设计模式中的建议,ViewModal不得接受View的引用,但在Facebook登录中,我们会通过Activity的onActivityResult()方法获得响应。

因此,如果我们的ViewModal有用于Facebook登录的方法,那么我必须将Activity的引用传递给它,以便我在Activity的onActivityResult()方法中返回结果。

有人会建议如何按照MVVM设计模式处理Facebook登录吗?

最佳答案

ViewModels should not hold a reference to Activities, Fragments, or Contexts.



这意味着您可以在参数中传递 Activity 或上下文,但是不应存储该引用。

在您的 Activity 中调用该函数。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {

     yourVm.onActivityResult(requestCode: Int, resultCode: Int, data: Intent?,this)
}

在您的ViewModel中创建一个函数
 fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?,activity? : Activity) {

//do your work
}

关于android - 如何在MVVM设计模式中处理Facebook登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57918275/

相关文章:

android - RelativeLayout 子级未与居中的 ImageView 对齐

android - 是否有适用于 Android 开发人员的 Python 绑定(bind)?

android - 如何从首选项中获取摘要

WPF 数据绑定(bind)更新 comboxbox2 基于 combobox1 中的选择更改与 MVVM

c# - WPF - 通过事件命令

android - 假设所有支持网络的设备都可以访问 localhost/loopback/127.0.0.1 是否安全——即使 "networking"已关闭?

Android Studio 属性窗口丢失

c# - 在 xaml 中使用 backgroundworker 和绑定(bind)时 UI 不会更新

c# - 多个 View 的相同命令

android - Observe Kotlin 中的返回值