アプリの設定ページを作成しています
API-14 以降では、switchpreference が利用可能です。API14以降のデバイスでcheckboxpreferenceを置き換えるために使用したいと思います
使いやすく、正しいxmlリソースを取得するのres/xml
は簡単ですres/xml-14
ただ、コーディング部分で、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
、対応するオブジェクトを取得して処理することです。しかし、コードを管理するのは非常に不便で困難です。誰かがそれを行うためのよりスマートな方法を持っていますか?