Resumen de actualización de PreferenceActivity

tengo unPreferenceActivity con un árbol de 2 niveles dePreferenceScreens, algo como:

<PreferenceScreen>
  <PreferenceScreen android:key="A">
     <ListPreference/>
     <EditTextPreference/>
  </PreferenceScreen>
  <PreferenceScreen android:key="B">
     <ListPreference/>
     <EditTextPreference/>
  </PreferenceScreen>
  ...
</PreferenceScreen>

Cada una de las pantallas de preferencia de nivel inferior, por ejemplo, A y B, está recopilando dos datos relacionados. Quiero que el resumen de esos elementos principales sea una combinación de los valores actuales de las dos subpreferencias.

Intenté agregar onPreferenceChangeListener's en las preferencias de la hoja y actualizar el resumen desde allí, pero no parece tomar. Todas las preferencias se crean mediante programación dentro de la actividad, por lo que estoy haciendo algo como esto en onCreate:

   leafListPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
       @Override
       public boolean onPreferenceChange(Preference preference, Object newValue) {
              // do some work
              prefScreenA.setSummary( /* get new summary based on newValue */);
              return true;
       }
  });

Luego intenté encontrar una ubicación en la que me puedan informar que he regresado a la pantalla de preferencias de nivel superior desde una subpágina para poder actualizar en ese momento. Sin embargo, estoy confundido sobre cómo se muestran las pantallas de nivel inferior. Parece que en realidad son diálogos, no actividades completas, ya que onPause / onResume no se llama cuando se mueve entre ellos. ¿Hay algún método que me falte en algún lugar que se invoque al volver a la página de nivel superior?

También intenté agregar un sharedPreferenceChangeListener, como se describeaquí, pero eso nunca parece llamarse.

¿Alguien tiene alguna pista sobre lo que me falta aquí, o algún enfoque más fácil que me estoy perdiendo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta