Sziasztok!
Van egy ilyen osztályom:
public class MapViewActivity<T extends Location> extends MapActivity
A kérdésem, hogy hogyan lehet ezt elindítani?
Az Intent.setClass-nek ugye csak ennyit tudok megmondani:
intent.setClass(this, MapViewActivity.class);
No de, hogy veszi így fel a T változó az értéket?
Már küzdök ezzel egy ideje, köszi a válaszokat!
Mariák Kálmán
sirkalmi
Page
viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
2 Comments
Auth Gábor
Ez kicsit kevés forrás lesz ahhoz, hogy segíteni tudjunk...
Mariák Kálmán
No tehát arról van szó, hogy a T váltózó így kapna értéket:
MapViewActivity<Attraction> map = new MapViewActivity<Attraction>();
Ahol az Attraction megvalósítja a Location interfészt. (Saját interfész)
De mivel az osztályt nem én példányosítom, hanem a keretrendszer a startActivity(intent); metódus hívásakor, ezért nem tudom megadni a generikus típust példányosításkor. Az intent meg csak az osztályt kéri be: intent.setClass(this, MapViewActivity.class); és itt nincs lehetőségem megadni a generikus típust.
Arra gondoltam, hogy az intent.putExtra metódussal átadom az osztályt stringként, majd a másik oldalt betöltöm a Class.forName-el és így oldom meg a dolgot.
sirkalmi