1.java思维
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//java思维
myonclick=object :MyOnclick{
override fun testOnclick() {
Log.d("****","调用了实现类")
}
}
setRun()
}
fun setRun(a:Int=1){
when(a){
1->{
myonclick?.testOnclick()
}
else->{
Log.d("****","不为1")
}
}
}
var myonclick:MyOnclick?=null
interface MyOnclick{
fun testOnclick()
}
}
高阶函数
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//高阶函数
runTest()
}
fun runTest()=mListener.invoke("11")
lateinit var mListener: (String) -> Unit
fun setListener(listener: (String) -> Unit) {
this.mListener = listener
}
val setListener=setListener { it->
Log.d("***","it=${it}")
}
}