我正在开发一款应用程序,该应用程序需要与Android 4.0之前的设备兼容。是否有可能创建一个OnClickListener来处理ToggleButton和Switch
在pre 4.0版本中,我必须使用ToggleButton
,并且在4.0后使用Switch
。就用户而言,它们的功能相同。当他们被点击时,他们应该有相同的行为。
我想写一个OnClickListener
,它们都可以工作,这样我就不会复制大量的代码。在Fragment
内部使用Switch
/ToggleButtons
,因此只需将编号为onClickListener
的呼叫置于布局中即可。
在努力尝试,同时为Switch
和ToggleButton
,我设置了onClickListener
到pushSelector,那就是:
private View.OnClickListener pushSelector = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((ToggleButton) v).isChecked() || ((Switch) v).isChecked()) {
// code
} else {
// code
}
}
};
毫不奇怪,这没有工作,但我想我给它一去不复返。
是否可以有一个单独的onClickListener
可以同时处理ToggleButton
和Switch
,或者我需要为每个单独设置一个onClickListener
?
使用开关的情况下将其与isinstanceof() –
不是一个很好的做法,但你可以做比较来检查选择的视它通过实现ToggleButton的点击监听器并务实地处理这些控件的状态 –