【Androidアプリケーションの設定画面を作ろう】TwoStatePreferenceを使う

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

TwoStatePreferenceは二つの状態を持つ設定項目を表すためのクラスの基底となる抽象クラスです。
この抽象クラスを継承することで自作の設定項目を作成することができます。

TwoStatePreferenceを継承して使う

TwoStatePreferenceを継承することで、プリファレンスとの連携機能を残しつつ色々な設定項目を作ることができます。
今回はプリファレンスの値に合わせてアイコンが変化する設定項目を作りました。
public class MyTwoStatePreference extends TwoStatePreference {

    public MyTwoStatePreference(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public MyTwoStatePreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTwoStatePreference(Context context) {
        super(context);
    }

    @Override
    public void setChecked(boolean checked) {
        super.setChecked(checked);
        if(isChecked()) {
            setIcon(R.mipmap.ic_launcher);
        } else {
            setIcon(R.mipmap.ic_launcher_round);
        }
    }
}