Child pages
  • Generikus típust alkalmazó Activity osztályok indítása
Skip to end of metadata
Go to start of metadata

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
  • No labels

2 Comments

  1. Ez kicsit kevés forrás lesz ahhoz, hogy segíteni tudjunk...

    1. 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