package com.bawei.moni003.model.base
abstract class BasePresenter<V> {
var mView:V?=null
}
package com.bawei.moni003.model.base
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
abstract class BaseFragment<V,P:BasePresenter<V>> :Fragment() {
var mPresenter:P?=null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(setLayoutId(),container,false)
}
abstract fun setLayoutId(): Int
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
mPresenter=createPresenter()
mPresenter?.mView=this as V
initData()
}
abstract fun initData()
abstract fun createPresenter(): P?
}
package com.bawei.moni003.model.base
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
abstract class BaseActivity :AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(setLayoutId())
initData()
}
abstract fun setLayoutId(): Int
abstract fun initData()
}
Main页面的java
package com.bawei.moni003.view.activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.bawei.moni003.R
import com.bawei.moni003.view.fragment.FytFragment
import com.bawei.