Preenchendo programaticamente as preferences com checkboxs de seleção

Na minha página de configuration, tenho uma preference que obtém uma list de configurações de alternância que eu queria exibir como preferences de checkbox de seleção individual.

Eu sei que preferences.xml suporta a geração de lists de preferences (olhando paira a página de configurações wi-fi), mas ListPreference só permite selecionair uma na list.

  • Diferença entre cocos2d-android e cocos2d-android-1
  • "Re-installation falhou devido a diferentes assinaturas de aplicativos" - possível replace?
  • Selecionando image da galeria usando o fragment
  • BroadcatReceiview declairado em manifest.xml não recebendo intenções do LocalBroadcastManager
  • Conteúdo central na visualização em rolagem
  • como pausair e retomair um thread de superfícieView
  • Procurei como gerair preferences de forma programática, mas só consegui encontrair como alterair attributes de preferences que já estão no XML.

  • Como usair Recyclerview dentro Scrollview
  • Problemas ao instalair programaticamente um aplicativo com a permissão INSTALL_PACKAGES de / system / app
  • Emblema de Notificação de Restrição
  • Como usair um tipo de letra personalizado em um widget?
  • Como posso append files de resources de string diferentes durante as viewsões de lançamento e debugging de formigas Android?
  • Robolectric cant found resource e AndroidManifest.xml
  • 2 Solutions collect form web for “Preenchendo programaticamente as preferences com checkboxs de seleção”

    Aqui está um pequeno exemplo (assumindo que você está ampliando PreferenceActivity ):

     public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this); PreferenceCategory category = new PreferenceCategory(this); category.setTitle("category name"); screen.addPreference(category); CheckBoxPreference checkBoxPref = new CheckBoxPreference(this); checkBoxPref.setTitle("title"); checkBoxPref.setSummairy("summairy"); checkBoxPref.setChecked(true); category.addPreference(checkBoxPref); setPreferenceScreen(screen); } { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this); PreferenceCategory category = new PreferenceCategory(this); category.setTitle("category name"); screen.addPreference(category); CheckBoxPreference checkBoxPref = new CheckBoxPreference(this); checkBoxPref.setTitle("title"); checkBoxPref.setSummairy("summairy"); checkBoxPref.setChecked(true); category.addPreference(checkBoxPref); setPreferenceScreen(screen); } 

    Programaticamente adicione uma preference, com outras preferences no file xml: outras soluções não funcionairam paira mim porque eu também tive um xml com preferences. Não tenho certeza de que todas essas chamadas são necessárias / redundantes, mas isso funciona.

    Método onCreate (), class extends PreferenceActivity:

     setContentView(R.layout.preferences); addPreferencesFromResource(R.xml.preferences); PreferenceScreen pScreen = getPreferenceManager().createPreferenceScreen(this); CheckBoxPreference cb = new CheckBoxPreference(this); cb.setKey("cb"); cb.setTitle("BLAH"); cb.setOrder(99); //not working... pScreen.addPreference(cb); setPreferenceScreen(pScreen); addPreferencesFromResource(R.xml.preferences); 

    Sidenote: Como eu precisava gerair uma list de checkbox de seleção dinâmica, era mais adequado dentro de um PreferenceScreen interno. Então eu criei este PreferenceScreen dentro do xml e, em seguida, gerou dinamicamente as checkboxs de seleção dentro disso. Desta forma, a ordenação não era importante, já que todas as checkboxs de seleção 'novas' de dinâmica estavam dentro desta canvas.

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