[android] hoe custom constructors van activities in een tab?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
Ik ben bezig met het maken van een soort test app, en wil eigenlijk 3 tabbladen die elk op een andere manier dezelfde data laten zien.

Wat ik nu heb zijn de 3 tabbladen (van dit voorbeeld: http://developer.android....iews/hello-tabwidget.html)
nu heb ik elke tab activity (normale activity die in een tabblad komt) een interface laten implementen. Deze defineerd een functie 'DataChanged'.

Verder heb ik in mijn startup activity (die dus van een TabActivity overerft) een timer gemaakt, die een task uitvoert.
Die task kan listeners toegevoegd krijgen.

Nu wil ik dus mijn tabbladen toevoegen aan de task, zodat de task kan zorgen dat de tabbladen gewaarschuwd worden wanneer de data wijzigt.


Echter komt nu mijn probleem:
De activities (tabbladen) worden alsvolgt aangemaakt:
Java:
1
2
3
4
5
intent = new Intent().setClass(this, ListActivity.class);
TabHost.TabSpec spec = tabHost.newTabSpec("list");
spec.setIndicator("List", res.getDrawable(R.drawable.ic_tab_list));
spec.setContent(intent);
tabHost.addTab(spec);

Zoals te zien is roep ik dus niet expliciet een constructor aan, en krijg dus geen object terug dat ik aan mijn task kan toevoegen als listener.

Ook kan ik niet mijn task als parameter meegeven aan de constructor, zodat deze zichzelf toevoegt als listener.

Hoe los ik dit op?
is er een manier dat ik mijn tabbladen kan 'preconstructen' ? of kan ik toch stiekum extra parameters meegeven?
* BasieP is niet zo bekend met java, en Intents zijn helemaal nieuw...

het liefst zou ik zoiets doen:

Java:
1
2
3
4
5
ListActivity activity = new ListActivity(task);
TabHost.TabSpec spec = tabHost.newTabSpec("list");
spec.setIndicator("List", res.getDrawable(R.drawable.ic_tab_list));
spec.setContent(activity);
tabHost.addTab(spec);

[ Voor 8% gewijzigd door BasieP op 17-11-2010 12:31 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt met de putExtra method allerlei gegevens meegeven aan de Intent

bijvoorbeeld
code:
1
2
Intent i = new Intent(this, ToClass.class);
    i.putExtra("objectname", objTest);


in de activity kun je dan doen :

code:
1
2
Intent i = getIntent();
TestObject objTest = (TestObject) i.getParcelableExtra("objectname");