Naar content
Trending apps
  • Google Duo: videogesprekken van hoge kwaliteit

  • Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger: gratis sms'en en videobellen

Trending games
  • Fortnite

  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

Trending smartphones
  • POCO X3

  • Samsung Galaxy Note 20 Ultra

  • Google Pixel 4a

  • OnePlus Nord

  • Samsung Galaxy A51

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

arnoldp

arnoldp

  • Lid sinds 10 juli 2010
  • Berichten 13
  • Reputatie 0
  • #1
  • 10 juli 2010
  • 18:24

Beste AW'ers,

Ik ben op dit moment bezig met een project waarbij een schoolrooster wordt getoond op het scherm. Daarbij heb ik een aantal settings in een PreferenceActivity. Nu moet ik telkens als ik een ListPreference open naar het internet verbinden en wat gegevens ophalen. Omdat dit flink wat data is, wil ik dit dus niet tijdens het laden van de Activity doen, maar nadat je op de ListPreference hebt geklikt.

Daar gebruik ik nu de OnPreferenceClickListener voor, die voert ook de acties uit, maar het updaten van de ListView gebeurt pas bij de volgende klik.

Heeft iemand suggesties?

Mijn huidige class ziet er zo uit:

public class SettingsActivity extends PreferenceActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

try {

PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);

PreferenceCategory periode = new PreferenceCategory(this);
periode.setTitle(R.string.settingsCategoryPeriode);
root.addPreference(periode);

ListPreference jaargang = new ListPreference(this);
jaargang.setTitle(R.string.settingsJaargang);
jaargang.setEntries(new CharSequence[0]);
jaargang.setEntryValues(new CharSequence[0]);

jaargang.setOnPreferenceClickListener(new ListPreference.OnPreferenceClickListener() {

@Override
public boolean onPreferenceClick(Preference preference) {
HTMLScraper s = new HTMLScraper();
Vector<String> jaren = s.getJaren(KeyStore.getUsername(), KeyStore.getPassword());
CharSequence[] jarenOptions = new CharSequence[jaren.size()];

int i = 0;
Iterator<String> jarenIterator = jaren.iterator();
while(jarenIterator.hasNext()) {

String jaar = jarenIterator.next();
jarenOptions[i] = jaar;

i++;

}

((ListPreference)preference).setEntryValues(jarenOptions);
((ListPreference)preference).setEntries(jarenOptions);

return true;
}
});

periode.addPreference(jaargang);

setPreferenceScreen(root);


} catch (Exception e) {}

}

}

Bewerkt (22 april 2013 12:28)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren