Autore Topic: Lanciare un'Activity da una classe non extends Activity  (Letto 758 volte)

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Lanciare un'Activity da una classe non extends Activity
« il: 09 Febbraio 2011, 01:00:20 CET »
0
Ciao ragazzi, vista l'ora, mi sono un pò arresto per cercare di risolvere questo problemino.
Ho la necessità di avviare un'activity da una classe che non è estesa da Activity;
Codice (Java): [Seleziona]
public class VenetoCitiesOverlay extends ItemizedOverlay<OverlayItem>
questo comporta che quando inserisco le righe
Codice (Java): [Seleziona]
Intent intent = new Intent(v.getContext(),Dettaglio.class);
                startActivity(intent);
mi dice che startActivity non è un metodo definito (giustamente). Come posso quindi lanciare una nuova View (perché poi si tratta di una nuova vista) che mi prende lo snippets?
Codice (Java): [Seleziona]
/**
         * Called when the user clicks on one of the icons
         *   in the map. It uses a Toast to say hello.
         * @param pIndex is the Find's index in the ArrayList
         */

        protected boolean onTap(int pIndex, View v) {
                Intent intent = new Intent(v.getContext(),Dettaglio.class);
                startActivity(intent);
           Toast.makeText(mContext, province.get(pIndex).getSnippet(),
                Toast.LENGTH_LONG).show();
           return true;
        }

La classe dettaglio per il momento ha questa struttura, spero dava bene..
Codice (Java): [Seleziona]
import android.app.Activity;

public class Dettaglio extends Activity {

       
}

Grazie a chi dedica 1 minuto for me :-)

Offline Agafi

  • Utente normale
  • ***
  • Post: 173
  • Respect: +10
    • svetlana-tomasevschi-perini
    • agafist
    • Mostra profilo
  • Dispositivo Android:
    SE Xperia Neo,LG Optimus One,Asus EEE Pad Transformer,HTC Magic Vodafone
  • Play Store ID:
    Agafi
  • Sistema operativo:
    Win7
Re:Lanciare un'Activity da una classe non extends Activity
« Risposta #1 il: 09 Febbraio 2011, 08:18:34 CET »
0
Codice (Java): [Seleziona]
protected boolean onTap(int pIndex, View v) {
                Intent intent = new Intent(v.getContext(),Dettaglio.class);
               v.getContext().startActivity(intent);
           Toast.makeText(mContext, province.get(pIndex).getSnippet(),
                Toast.LENGTH_LONG).show();
           return true;
        }

v.getContext()

Offline benve83

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic TIM
  • Sistema operativo:
    Win 7
Re:Lanciare un'Activity da una classe non extends Activity
« Risposta #2 il: 09 Febbraio 2011, 10:05:25 CET »
0
Grazie!
Ho dovuto però apportare delle modifiche sennò non funzionava.
Codice (Java): [Seleziona]
        /**
         * Called when the user clicks on one of the icons
         *   in the map. It uses a Toast to say hello.
         * @param pIndex is the Find's index in the ArrayList
         */

        protected boolean onTap(int pIndex) {
                Intent intent = new Intent(mContext,Dettaglio.class);
                mContext.startActivity(intent);
           Toast.makeText(mContext, province.get(pIndex).getSnippet(),
                Toast.LENGTH_LONG).show();
           return true;
        }