agrajag
agrajag

Reputation: 461

How to setSummary of a preference-headers

How can I set a summary of a preference-header on runtime? Even if I put a key in it, findPreference(key) will produce a NullPointerException.

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
    <header android:fragment="PrefActivity$Fragment1"
            android:title="Fragment1"
            android:summary="Summary2"/>
    <header android:fragment="PrefActivity$Fragment2"
            android:title="Fragment2"
            android:summary="Summary2"/>
</preference-headers>

Thanks for your help!

Upvotes: 1

Views: 624

Answers (1)

agrajag
agrajag

Reputation: 461

Thanks to @CommonsWare I found a solution:

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

  for(Header header: target) {
    if (SettingsFragmentTest.class.getName().equals(header.fragment)) {
      header.summary = "New Summary!";
    }
  }
}

Upvotes: 3

Related Questions