java setOnCheckedChangeListener参数
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.orientation);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.horizontal:
group.setOrientation(LinearLayout.HORIZONTAL);
break;
case R.id.vertical:
group.setOrientation(LinearLayout.VERTICAL);
break;
}
}
});
什么是放射组。setOnCheckedChangeListener是否每次都更改?这是一种方法吗?那么它的论点是什么呢
# 1 楼答案
setOnCheckedChangeListener()
是一种方法,用于设置一个侦听特定动作的侦听器这个想法是:
当用户更改选择时,您希望单选按钮执行一些操作
当选择发生变化时,系统会通知单选按钮。如果单选按钮设置了侦听器,则侦听器“侦听”事件——有一种机制通过调用其方法
onCheckedChanged()
您应该意识到
onCheckedChanged()
是在事件发生的那一刻调用的,而不是在侦听器被传递给setOnCheckedChangeListener()
方法的时候,所以不是在调用代码示例的时候类
new RadioGroup.OnCheckedChangeListener()
是传递侦听器的行为所必需的——在Java 7之前,不能只传递一个没有类的方法。由于Java 8,您可以使用lambda expressions更轻松地完成它,但现在不用麻烦了这是一个相当高级的话题,我建议你先研究一下:
你可以用简化的方式来思考。您的代码具有以下含义: