``` abstract class BaseFragment<ViewType: BaseV...
# android
k
Copy code
abstract class BaseFragment<ViewType: BaseView<PresenterType>, PresenterType: BasePresenter<ViewType>> :
        Fragment(), BaseView<PresenterType> {
    override lateinit var presenter: PresenterType

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        presenter.attachView(this as ViewType)
    }

    override fun onDestroyView() {
        super.onDestroyView()
        presenter.detachView()
    }

    override fun showGenericError() = context.showError()
}