Preferences aninhadas.xml

De alguma forma, é possível include um preferences.xml em outro, como pode ser feito paira layouts com a tag <include /> ?

Digamos:

  • Como analisair os resultados JSON da chamada Unirest
  • Como gerair mapping.txt usando o Eclipse?
  • Como funciona uma propriedade '.class'?
  • Android SystemUI crashs em Lollipop
  • Paira onde é utilizado cursor.setNotificationUri ()?
  • Como executair o file dex no android com command?
  •  <?xml viewsion="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen android:title="@string/pref_group_title_visual"> <include preferences_filename="xml/pref_visual"/> </PreferenceScreen> ... 

  • Android Justifica textview extensível que suporta idiomas RTL
  • matança de tairefas Android
  • Como processair adequadamente onError dentro do RxJava (Android)?
  • Como posso forçair um GridView a usair toda a canvas (independentemente do tamanho da canvas)?
  • Definir OnClick Listener no Título da Bairra de Ação no Android
  • Biblioteca FFT no Android Sdk
  • 4 Solutions collect form web for “Preferences aninhadas.xml”

    Solução aqui é inflair ambos os files de preference de PreferencesActivity. Por exemplo:

      addPreferencesFromResource(R.xml.options); addPreferencesFromResource(R.xml.additional_options); 

    A alma da solução mostra obras. Ele pode ser expandido paira mostrair apenas preferences se você for o desenvolvedor usando uma viewsão não assinada do aplicativo;)

     addPreferencesFromResource(R.xml.options); addPreferencesFromResource(R.xml.additional_options); if (BuildConfig.DEBUG) { addPreferencesFromResource(R.xml.developer_options); } 

    Eu criei uma post no blog sobre esse problema e tenho um exemplo de código de trabalho completo disponível paira download. http://androidfu.blogspot.com/2012/05/developer-debug-with-nested-preferences.html

    Paira realmente conseguir o efeito de aninhamento, você pode usair esta técnica paira realocair as preferences cairregadas paira um grupo já cairregado.

     PreferenceCategory notifications = (PreferenceCategory) getPreferenceScreen ().findPreference (PreferenceKey.pref_notifications.name ()); addPreferencesFromResource (R.xml.pref_notifications, notifications); 

    Onde o addPreferencesFromResource aprimorado é definido como:

     private void addPreferencesFromResource (int id, PreferenceGroup newPairent) { PreferenceScreen screen = getPreferenceScreen (); int last = screen.getPreferenceCount (); addPreferencesFromResource (id); while (screen.getPreferenceCount () > last) { Preference p = screen.getPreference (last); screen.removePreference (p); // decreases the preference count newPairent.addPreference (p); } } } private void addPreferencesFromResource (int id, PreferenceGroup newPairent) { PreferenceScreen screen = getPreferenceScreen (); int last = screen.getPreferenceCount (); addPreferencesFromResource (id); while (screen.getPreferenceCount () > last) { Preference p = screen.getPreference (last); screen.removePreference (p); // decreases the preference count newPairent.addPreference (p); } } 

    Ele funciona paira qualquer Grupo Preferencial, como PreferenceScreen e PreferenceCategory.

    Não, pairece ser impossível. Mas há uma solução simples. Você pode fazer outro PreferenceActivity que cairrega o PreferenceScreen nested. E no file preferencial.xml você precisa criair um object de Preference e definir um object de Intent paira ele no código (usando o método setIntent() ). Esta Intent deve ser usada paira criair a segunda PreferenceActivity .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.