``` abstract class MVPActivity<V : MVPContract....
# announcements
u
Copy code
abstract class MVPActivity<V : MVPContract.View, P : MVPContract.Presenter<V>> : AppCompatActivity(), MVPContract.View {
}

interface MVPContract {
    interface View
    interface Presenter<V : View>{
        fun getView() : V?
        fun attachView(view : V)
        fun detachView()
    }
}