我正在构建一个 Android 应用程序,在其中我实现了 Activity 的超类型方法,onCheckedChanged(CompoundButton buttonView, boolean isChecked)
如下所示:
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
LinearLayout view = (LinearLayout) findViewById(R.id.some_view);
Animation anim = expand(view, true);
view.startAnimation(anim);
}
else {
LinearLayout view = (LinearLayout) findViewById(R.id.some_view);
Animation anim = expand(view, false);
view.startAnimation(anim);
}
}
然后将此方法设置为在 onCreate 方法中侦听 Switch,如下所示:
mySwitch = (Switch) findViewById(R.id.my_switch);
mySwitch.setOnCheckedChangeListener(this);
现在的问题是,我不仅要为 实现此方法some_view
,还要为其他几个视图实现此方法。由于我不想多次复制/粘贴此方法而只是更改 some_view 我需要某种方式来传递视图。但是,由于我要覆盖此方法,因此不能简单地向该方法添加参数。由于我为此方法设置了一个侦听器,因此我也不能在调用此方法之前将 id 设置为全局变量。
所以我的问题是:如何将 id 传递给这个方法,这样我就不需要复制/粘贴该方法来为多个视图重用它?