Autore Topic: Problema passaggio da un Activity ad un'altra da Button  (Letto 1259 volte)

Offline S3ph86

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Problema passaggio da un Activity ad un'altra da Button
« il: 24 Luglio 2012, 15:14:33 CEST »
0
Ciao a tutti, sono da poco nel mondo della programmazione Android e ho un problema che vi spiego di seguito.
Sto utilizzando Eclipse con il plugin di Android, ora vorre fare una cosa a mio avviso banale ma che (essendo inesperto) mi sta creando
diversi problemi, in poche parole vorrei far si che dalla schermata 1 iniziale premendo un button mi si apra la schermata 2.

Per fare ciò ho creato 2 Activity, la principale MainActivity dove c'è il button1 che dovrei premere, e la seconda attività AnimalActivity che sarebbe 
la schermata che dovrebbe comparire quando premo il button nella MainActivity. Al button 1 della prima Activity ho colleagato un evento OnClick che porta alla
seconda attività

Codice (XML): [Seleziona]
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView1"
        android:layout_alignLeft="@+id/textView1"
        android:layout_marginBottom="45dp"
        android:onClick="@string/title_activity_animal"
        android:text="Button" />

Quando lancio l'emulazione e premo il button1 però l'App mi crasha e mi escono fuori questi messaggi di errore nel Logcart

07-24 12:44:17.384: E/AndroidRuntime(1509): FATAL EXCEPTION: main
07-24 12:44:17.384: E/AndroidRuntime(1509): java.lang.IllegalStateException: Could not find a method AnimalActivity(View) in the activity class com.jumboace.happy.farm.MainActivity for onClick handler on view class android.widget.Button with id 'button1'
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.view.View$1.onClick(View.java:3031)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.view.View.performClick(View.java:3511)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.view.View$PerformClick.run(View.java:14105)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.os.Handler.handleCallback(Handler.java:605)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.os.Looper.loop(Looper.java:137)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.app.ActivityThread.main(ActivityThread.java:4424)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at java.lang.reflect.Method.invokeNative(Native Method)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at java.lang.reflect.Method.invoke(Method.java:511)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at dalvik.system.NativeStart.main(Native Method)
07-24 12:44:17.384: E/AndroidRuntime(1509): Caused by: java.lang.NoSuchMethodException: AnimalActivity [class android.view.View]
07-24 12:44:17.384: E/AndroidRuntime(1509):    at java.lang.Class.getConstructorOrMethod(Class.java:460)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at java.lang.Class.getMethod(Class.java:915)
07-24 12:44:17.384: E/AndroidRuntime(1509):    at android.view.View$1.onClick(View.java:3024)

Aggiungo anche che la seconda Activity la creo andando su File -> Nuovo -> Other -> Android Activity

Ringrazio in anticipo tutti coloro che vorranno aiutarmi  :-P

jfrankie

  • Visitatore
Re:Problema passaggio da un Activity ad un'altra da Button
« Risposta #1 il: 24 Luglio 2012, 15:24:56 CEST »
0
Io procedo in questo modo:

Codice (Java): [Seleziona]
Button yourBtn = (Button) findViewById(R.id.yourButton);  // R.id.
               
                yourBtn .setOnClickListener(new View.OnClickListener() {
                       
                        @Override
                        public void onClick(View view) {
                                //Log.d(Params.LOG_APP, "Click on prefs button");
                                startActivity(new Intent(activity_sorgente.class, activity_dest.class));                               
                        }
                });

dove activity sorgente è l'activity di partenza (quella chiamante) e quella l'activity di destinazione è quella finale che deve essere aperta appena clicchi sul pulsante.
Togli dal manifest.xml android:onClick
Ciao

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Problema passaggio da un Activity ad un'altra da Button
« Risposta #2 il: 24 Luglio 2012, 15:55:17 CEST »
0
Puoi anche lasciare il onclick nel xml, come attributo però gli devi dare una stringa, nominativo del metodo da chiamare, che dovrà essere uguale nell'activity. Esempio:

Codice (XML): [Seleziona]
onCLick="avviaActivity"
e nell'Activity:


Codice (Java): [Seleziona]
public void avviaActivity(View v){
//...tuo codice, per esempio avvia re un altra activity.
};