Autore Topic: Richiamare una seconda activity  (Letto 2575 volte)

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Richiamare una seconda activity
« il: 03 Febbraio 2012, 11:03:13 CET »
0
Buongiorno a tutti, ho bisogno di qualche dritta sull'argomento nell'oggetto del topic :(

Ho un activity principale che viene eseguita al momento dell'avvio dell'app, quando l'utente premerà il tasto "Storico" si deve aprire una nuova activity.

Da quello che ho capito girando per la rete, è che nel momento in cui l'utente preme il tasto, deve essere inviata un'Intent che richiede quell'activity però sinceramente non so da dove partire al livello pratico.

Inoltre per quanto riguarda quello che deve essere visualizzato nella nuova activity(Parlo dei dati non del layout) è gestito da un altra classe, o sempre nella classe dell'activity principale??

Grazie a tutti in anticipo :)
Sono ben accette anche guide o risultati su google che potrei aver ignorato.

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #1 il: 03 Febbraio 2012, 11:33:16 CET »
+1
Dai un'occhiata qui: Activities | Android Developers

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #2 il: 03 Febbraio 2012, 13:40:31 CET »
0
ok, ora devo capire bene come dichiarare la nuova activity nel manifest...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Richiamare una seconda activity
« Risposta #3 il: 03 Febbraio 2012, 13:54:36 CET »
0
Potresti considerare di acquistare un libro sullo sviluppo Android in modo da avere una spiegazione di come si fanno le cose, dall'inizio alla fine :)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Richiamare una seconda activity
« Risposta #4 il: 03 Febbraio 2012, 14:12:56 CET »
0
Avevo scritto uno snippet a proposito Avviare una nuova activity - Android Developers Italia
Comunque ti consiglio di capire cosa succede e non fare semplicemente copia-incolla.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #5 il: 03 Febbraio 2012, 14:14:38 CET »
0
Potresti considerare di acquistare un libro sullo sviluppo Android in modo da avere una spiegazione di come si fanno le cose, dall'inizio alla fine :)

Prima o poi lo faro perchè mi interessa :) però devo consegnare il progetto entro il 15 e perciò devo far veloce

Avevo scritto uno snippet a proposito Avviare una nuova activity - Android Developers Italia
Comunque ti consiglio di capire cosa succede e non fare semplicemente copia-incolla.

Grazie controllo subito :)

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #6 il: 03 Febbraio 2012, 15:03:20 CET »
0
E la stessa cosa che ho trovato nella documentazione :) cmq vi posto il mio codice:

Questo è l'activity da chiamare:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >
   
    <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical" >
       
        <Spinner
           
           android:layout_height="wrap_content"
           android:layout_width="fill_parent"/>
    </LinearLayout>
   
    <TableLayout
       android:layout_height="wrap_content"
       android:layout_width="fill_parent"
       android:stretchColumns="1"
       android:orientation="horizontal">
       
       
    </TableLayout>

   

</LinearLayout>

questo è il manifest:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="core.sms.mobile"
   android:versionCode="1"
   android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name" >
        <activity
           android:label="@string/app_name"
           android:name=".SMSMobile2Activity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
           android:label="@string/storico"
           android:name=".storico_layout" />
    </application>

</manifest>

Questo è il metodo che viene chiamato con android:onClick settato sul pulsante:
Codice (Java): [Seleziona]
    public void viewStorico(View view) {
        Intent intent = new Intent(this, StoricoActivity.class);
        this.startActivity(intent);
    }

Infine il Log:
Citazione
02-03 13:58:18.945: E/AndroidRuntime(279): FATAL EXCEPTION: main
02-03 13:58:18.945: E/AndroidRuntime(279): java.lang.IllegalStateException: Could not execute method of the activity
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.view.View$1.onClick(View.java:2072)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.view.View.performClick(View.java:2408)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.view.View$PerformClick.run(View.java:8816)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.os.Handler.handleCallback(Handler.java:587)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.os.Handler.dispatchMessage(Handler.java:92)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.os.Looper.loop(Looper.java:123)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.app.ActivityThread.main(ActivityThread.java:4627)
02-03 13:58:18.945: E/AndroidRuntime(279):    at java.lang.reflect.Method.invokeNative(Native Method)
02-03 13:58:18.945: E/AndroidRuntime(279):    at java.lang.reflect.Method.invoke(Method.java:521)
02-03 13:58:18.945: E/AndroidRuntime(279):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-03 13:58:18.945: E/AndroidRuntime(279):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-03 13:58:18.945: E/AndroidRuntime(279):    at dalvik.system.NativeStart.main(Native Method)
02-03 13:58:18.945: E/AndroidRuntime(279): Caused by: java.lang.reflect.InvocationTargetException
02-03 13:58:18.945: E/AndroidRuntime(279):    at core.sms.mobile.SMSMobile2Activity.viewStorico(SMSMobile2Activity.java:171)
02-03 13:58:18.945: E/AndroidRuntime(279):    at java.lang.reflect.Method.invokeNative(Native Method)
02-03 13:58:18.945: E/AndroidRuntime(279):    at java.lang.reflect.Method.invoke(Method.java:521)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.view.View$1.onClick(View.java:2067)
02-03 13:58:18.945: E/AndroidRuntime(279):    ... 11 more
02-03 13:58:18.945: E/AndroidRuntime(279): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {core.sms.mobile/core.sms.mobile.StoricoActivity}; have you declared this activity in your AndroidManifest.xml?
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.app.Activity.startActivityForResult(Activity.java:2817)
02-03 13:58:18.945: E/AndroidRuntime(279):    at android.app.Activity.startActivity(Activity.java:2923)
02-03 13:58:18.945: E/AndroidRuntime(279):    ... 15 more

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Richiamare una seconda activity
« Risposta #7 il: 03 Febbraio 2012, 15:12:44 CET »
+1
Perché nel manifest scrivi
Codice (Java): [Seleziona]
android:name=".storico_layout"se l'activity é StoricoActivity?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #8 il: 03 Febbraio 2012, 15:15:39 CET »
0
Funziona :) grazie mille :)

Offline vecio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Richiamare una seconda activity
« Risposta #9 il: 03 Febbraio 2012, 15:32:32 CET »
0
Un ultima cosa :) se voglio chiudere il programma?? Sempre alla pressione di un bottone
« Ultima modifica: 03 Febbraio 2012, 15:34:25 CET da vecio88 »

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Richiamare una seconda activity
« Risposta #10 il: 03 Febbraio 2012, 22:46:01 CET »
+1
Devi chiamare all'interno del metodo del bottone onClick() il metodo per terminare un'attività: finish()
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.