我现在正在为我的应用创建一个偏好页面
在 API-14 之后,switchpreference 可用。我想用它来替换 API14+ 设备上的 checkboxpreference
它易于使用res/xml
并res/xml-14
获得正确的xml资源
但是,在编码部分,根据API切换偏好并不那么方便。
public class SettingActivity extends PreferenceActivity {
private CheckBoxPreference enable;
private SwitchPreference enablev14;
@Override
protected void onCreate(Bundle savedInstanceState) {
addPreferencesFromResource(R.xml.setting);
if (Build.VERSION.SDK_INT < 14)
enable = (CheckBoxPreference) findPreference(key_enable);
else
enablev14 = (SwitchPreference) findPreference(key_enable);
}
...
}
现在我的方法是使用 if-clause 来检查Build.VERSION
并获取相应的对象来处理它。但是管理代码非常不方便和困难。有人有更聪明的方法吗?