2

Holo スタイルの (非推奨ではない) PreferenceActivity を作成する方法はありますか? XML ではなく純粋な Java でヘッダー/フラグメントを作成する方法はありますか? プログラムでヘッダーを追加および削除することは可能ですか?

4

2 に答える 2

2

Holo スタイルの (非推奨ではない) PreferenceActivity を作成する方法はありますか? XML ではなく純粋な Java でヘッダー/フラグメントを作成する方法はありますか?

onBuildHeaders()メソッドは、おそらく他の方法でオブジェクトを作成できますPreferenceActivity.Header。XML 経由でヘッダーを処理するテスト プロジェクトを作成し、結果Headerのオブジェクトのコンテンツをダンプして、オブジェクトが正しく入力されていることを確認することをお勧めしますHeader

プログラムでヘッダーを追加および削除することは可能ですか?

有望に見えるinvalidateHeaders()方法があります。PreferenceActivityソース コードを調べると、 の呼び出しをトリガーするのと同じように、新しいリストを提供する への別の呼び出しをトリガーする呼び出しのように見えonBuildHeaders()ます。invalidateOptionsMenu()onCreateOptionsMenu()

于 2012-10-15T23:45:36.273 に答える
2

OnBuildHeaders で独自のヘッダーを作成/追加してから、onHeaderClick で ID を確認できます。

@Override
public void onBuildHeaders(List<Header> target) {
    //loadHeadersFromResource(R.xml.prefs_sync_plugins, target);

    Header customHeader = new Header();
    customHeader.titleRes= R.string.customHeaderTitle;
    customHeader.id = R.string.customHeaderTitle;
    target.add(customHeader);
}

@Override
public void onHeaderClick(Header header, int position) {
    if (header.id == R.string.customHeaderTitle) {
        // Do something
    }
}
于 2013-03-01T14:34:35.073 に答える