1

PreferenceScreen xml を使用して PreferenceActivity を作成しています。CheckBoxPreference のラベル (タイトル) をクリックしたときに新しい設定画面を開きたいのですが、ユーザーがこの CheckBoxPreference のチェック ボックスをクリックすると、通常の設定機能が動作します。どうすればそれができますか?

例: Androidでユーザープロファイルを変更し(ラジオボタンをクリックして)、そのプロパティを変更します(このラジオボタンのラベルをクリックして)

4

1 に答える 1

1

デフォルト設定ではやりにくいと思います。onBindViewただし、ドキュメントによると、元のメソッドを拡張してみることができます。したがって、これはテキストでクリック可能にするThis is a good place to grab references to custom Views in the layout and set properties on them.ための例です。CheckBoxPreference

public class MyCheckBoxPreference extends CheckBoxPreference {
    static final String TAG = "MyCheckBoxPreference";

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

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

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

    @Override
    protected void onBindView(View v) {
        super.onBindView(v);
        ((ViewGroup) v).getChildAt(1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i(TAG, "onClick " + getKey());
            }
        });
    }
}
于 2016-06-05T14:39:18.570 に答える