BasePresenter,BaseView如何使用干净的解决方案解决问题

时间:2019-04-13 16:25:13

标签: java design-patterns

我有以下抽象类:

abstract class BasePresenter<T : BaseView>{
    private lateinit var view : T

    fun attachView(view : T) {
        this.view = view
    }

    fun getView() = view
}

使用这种方法,我每次必须在一个产生锅炉代码的Activity中编写presenter.attachView(this)

class SplashActivity : BaseActivity(), SplashActivityView {
    @Inject
    lateinit var splashActivityPresenter: SplashActivityPresenter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        splashActivityPresenter.attachView(this)

        splashActivityPresenter.getUser()
    }
}

我该如何解决,以便我的活动自动调用attachView()中的onCreate()

1 个答案:

答案 0 :(得分:0)

这不是问题。您必须为演示者提供活动/片段的具体实例。因此,必须每次都编写调用attachView()。