Beste <Programming>
Ik ben bezig met schrijven van een app die roosterwijzigingen laat zien, zodat je daar altijd van op de hoogte kan zijn. Deze app heb ik een tijd geleden geschreven maar de code die ik had geschreven was destijds allemaal in de onCreate en ik maakte bijna geen gebruik van methods/classes enz. Nu heb ik de code dus herschreven, maar dat lijkt meer problemen met zich mee te brengen dan dat het oplost. Dit probleem is als volgt: zie onderstaande code.
Wanneer de app voor de eerste keer gestart wordt is er nog geen klas ingesteld en dat moet wel gebeuren, met de regels
Wil ik dan de user een schermpje laten zien waar hij zijn klas in kan stellen, probleem is echter dat de methods die daarna komen. downloadRooster() en parseJSON() niet wachten totdat viewFirstTimeScreen klaar is en hun eigen layout laten zien. Wat dus tot gevolg heeft dat het viewFirstTimeScreen helemaal niet zichtbaar is.
Nu heb ik verschillende dingen al geprobeerd, maar niks werkt
Graag hoor ik van jullie suggesties en ideeën om dit op te lossen.
mvg Coltragon
Ik ben bezig met schrijven van een app die roosterwijzigingen laat zien, zodat je daar altijd van op de hoogte kan zijn. Deze app heb ik een tijd geleden geschreven maar de code die ik had geschreven was destijds allemaal in de onCreate en ik maakte bijna geen gebruik van methods/classes enz. Nu heb ik de code dus herschreven, maar dat lijkt meer problemen met zich mee te brengen dan dat het oplost. Dit probleem is als volgt: zie onderstaande code.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| public void onResume() { super.onResume(); SharedPreferences settings = getPreferences(MODE_PRIVATE); final SharedPreferences.Editor editor = settings.edit(); Network network = new Network(); Initialize initialize = new Initialize(); if(initialize.checkFirstTimeAppIsRun(settings, this) == true) { initialize.viewFirstTimeScreen(settings, this); if(network.isConnected(this) == true) { network.downloadRooster(1, "today.json", this , settings); network.downloadRooster(2, "tomorrow.json", this, settings); network.parseJSON("today.json", this, R.id.tableLayout_main); network.parseJSON("tomorrow.json", this, R.id.tableLayout_main2); } else { network.parseJSON("today.json", this, R.id.tableLayout_main); network.parseJSON("tomorrow.json", this, R.id.tableLayout_main2); } } else { if(network.isConnected(this) == true) { network.downloadRooster(1, "today.json", this, settings); network.downloadRooster(2, "tomorrow.json", this, settings); network.parseJSON("today.json", this, R.id.tableLayout_main); network.parseJSON("tomorrow.json", this, R.id.tableLayout_main2); } else { network.parseJSON("today.json", this, R.id.tableLayout_main); network.parseJSON("tomorrow.json", this, R.id.tableLayout_main2); } } } |
Wanneer de app voor de eerste keer gestart wordt is er nog geen klas ingesteld en dat moet wel gebeuren, met de regels
Java:
1
2
| if(initialize.checkFirstTimeAppIsRun(settings, this) == true) { initialize.viewFirstTimeScreen(settings, this); |
Wil ik dan de user een schermpje laten zien waar hij zijn klas in kan stellen, probleem is echter dat de methods die daarna komen. downloadRooster() en parseJSON() niet wachten totdat viewFirstTimeScreen klaar is en hun eigen layout laten zien. Wat dus tot gevolg heeft dat het viewFirstTimeScreen helemaal niet zichtbaar is.
Nu heb ik verschillende dingen al geprobeerd, maar niks werkt
Graag hoor ik van jullie suggesties en ideeën om dit op te lossen.
mvg Coltragon