Autore Topic: SwitchPreference con i fragment  (Letto 915 volte)

Offline Cromir

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    CromEth
  • Sistema operativo:
    Windows 7 / Windows 8
SwitchPreference con i fragment
« il: 12 Maggio 2012, 18:50:06 CEST »
0
Ciao ragazzi,

ho un'activity, che rappresenta una normale schermata di settings, realizzata con un Fragment, di seguito il codice:

Activity layout:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<fragment
   android:id="@+id/frag"
   android:name="com.test.preference.Frag"
   android:layout_width="match_parent"
   android:layout_height="wrap_content" />

Preference xml:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="General">
    <SwitchPreference android:title="Enable module" android:key="asd" android:summaryOff="Turn on module" android:summaryOn="Turn off module"/>
    <SwitchPreference android:title="Post in application" android:key="qwe" android:summary="Show posts in application"/>
    <SwitchPreference android:title="Post in widget" android:key="zxc" android:summary="Show posts in widget"/>
</PreferenceCategory>

Activity class:

Codice (Java): [Seleziona]
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
}

and finally Fragment class:

Codice (Java): [Seleziona]
public class Frag extends PreferenceFragment{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.test);
}
}

L'activity parte normalmente ma quando clicco su qualunque SwitchPreference il suo stato rimane uguale (on o off) e le altre due cambiano!  :-o

Mentre se uso il metodo deprecato, PreferenceActivity senza Fragment, allora funzionano, ognuna è indipendente dalle altre.

Avete qualche idea?

Grazie

Giulio

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re:SwitchPreference con i fragment
« Risposta #1 il: 13 Maggio 2012, 01:56:53 CEST »
0
Ammazzare l'inventore dei fragment forse non aiuta ma darebbe molta soddisfazione
Odio l'inglese e per un informatico non è il massimo

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:SwitchPreference con i fragment
« Risposta #2 il: 13 Maggio 2012, 11:54:16 CEST »
0
Purtroppo non l'ho mai usato e non ho idea di quale possa essere la causa.  :-(

Ammazzare l'inventore dei fragment forse non aiuta ma darebbe molta soddisfazione

Sono d'accordo. Gran cosa i Fragment, ma l'implementazione è così infelice che sarebbe veramente il caso di buttare via tutto e ripensarli da capo.

Quando è uscito l'indice di Professional Android 4, mi sono pubblicamente lamentato con l'autore perchè aveva dedicato solo 14 pagine ai Fragment. Potete leggere anche la sua risposta se vi interessa (negli ultimi commenti): https://plus.google.com/u/0/111169963967137030210/posts/F7uXrgxtMzi
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Cromir

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    CromEth
  • Sistema operativo:
    Windows 7 / Windows 8
Re:SwitchPreference con i fragment
« Risposta #3 il: 13 Maggio 2012, 19:55:09 CEST »
0
Non c'è tipo un blog degli sviluppatori dove poter chiedere questa cosa?

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:SwitchPreference con i fragment
« Risposta #4 il: 13 Maggio 2012, 23:32:07 CEST »
0
Prova sulla pagina G+ ufficiale di Android Developers (è quella del team di Google): https://plus.google.com/108967384991768947849/posts
Fanno addirittura un videoritrovo settimanale dove puoi fare domande in diretta  :-)