Autore Topic: Apertura seconda Activity  (Letto 741 volte)

Offline mpigio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows XP
Apertura seconda Activity
« il: 23 Novembre 2011, 17:05:04 CET »
0
Quando tento di aprire una seconda activity dalla prima ricevo l'errore source not found.
L'errore appare subito dopo aver premuto il bottone che dovrebbe aprire la seconda activity.
Questo è quello che ho scritto:

Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState)
{
...

btnApri = (Button) findViewById(R.id.btnOpen);
btnApri.setOnClickListener(gestore);
}

View.OnClickListener gestore = new View.OnClickListener() {
public void onClick(View view) {
switch(view.getId()){
case R.id.btnOpen:
Intent miaIntent = new Intent(this, SecondaActivity.class);
startActivity(miaIntent);
break;

.....

}      
}
};
Alla riga
Codice (Java): [Seleziona]
Intent miaIntent = new Intent(this, SecondaActivity.class);ricevo l'errore:
The constructor Intent(new View.OnClickListener(){}, Class<SecondaActivity>) is undefined
e non posso generare il progetto

Se seguo il consiglio di eclipse di sostituire con:
Intent miaIntent = new Intent();
Il progetto si genera e si avvia ma quando premo il bottone ricevo l'errore di risorsa non trovata

Dove sbaglio?
Grazie!
« Ultima modifica: 23 Novembre 2011, 17:26:07 CET da Ricky` »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Apertura seconda Activity
« Risposta #1 il: 23 Novembre 2011, 17:26:44 CET »
0
Al posto di "this" metti "NomeActivity.this"

Offline mpigio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Windows XP
Re:Apertura seconda Activity
« Risposta #2 il: 23 Novembre 2011, 18:41:24 CET »
0
Ottimo! Ora va. Ma come mai ho dovuto aggiungere il nome dell'activity prima di this?

Se tento però di tornare indietro nell'emulatore l'emulatore genera un'eccezione e si chiude inesorabilmente.
Ho notato che nell'elenco dei file mi appare
com.android.ide.eclipse.adt.LIBRARIES
anche se non l'ho aggiunto e non ce l'ho su nessun'altro progetto realizzato.

Perchè c'è? Lo potrò togliere?

Grazie per aver risolto il mio problema!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Apertura seconda Activity
« Risposta #3 il: 23 Novembre 2011, 19:33:00 CET »
0
Ottimo! Ora va. Ma come mai ho dovuto aggiungere il nome dell'activity prima di this?

Perchè devi riferirti all'Activity, è lei che implementa Context. Con solo this ti riferisci alla classe anonima View.OnClickListener, che non implementa Context.