当java接口中只有一个方法,可以省略接口对象,可以直接复写此方法, {}就表示此方法
toolbar.setOnMenuItemClickListener(object:Toolbar.OnMenuItemClickListener{
override fun onMenuItemClick(item: MenuItem?): Boolean {
when(item?.itemId){
R.id.setting->{
// Toast.makeText(toolbar.context,"设置",Toast.LENGTH_LONG).show();
toolbar.context.startActivity(Intent(toolbar.context,SettingActivity::class.java));
}
}
return true;
}
})
//第二种写法
//kotlin和java的区别
//当java接口中只有一个方法,可以省略接口对象,直接复写此方法 {}表示此方法
toolbar.setOnMenuItemClickListener {
//有一个默认的it 代表onMenuItemClick的参数
println("item=$it")
when(it?.itemId){
R.id.setting->{
Toast.makeText(toolbar.context,"设置",Toast.LENGTH_LONG).show();
toolbar.context.startActivity(Intent(toolbar.context,SettingActivity::class.java));
}
}
true
}
//第三种写法
//kotlin和java的区别
//当java接口中只有一个方法,可以省略接口对象,直接复写此方法 {}表示此方法
toolbar.setOnMenuItemClickListener {a->
//a代表参数 item
when(a?.itemId){
R.id.setting->{
Toast.makeText(toolbar.context,"设置",Toast.LENGTH_LONG).show();
toolbar.context.startActivity(Intent(toolbar.context,SettingActivity::class.java));
}
}
true
}
}
网友评论