Autore Topic: Aiuto intent tra 2 activity  (Letto 601 volte)

Offline dengel

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
Aiuto intent tra 2 activity
« il: 20 Marzo 2012, 18:23:50 CET »
0
Ciao a tutti dovrei comunicare tra 2 activity: Una listview popolata da xml e una finestra con un pulsante
Quando clicco sulla listview, mi crasha l'applicazione anzichè rimandarmi alla seconda activity.
Sicuramente sbaglio qualcosa nel codice e vi chiudo un aiuto

Codice (Java): [Seleziona]
public class HelloListViewActivity extends ListActivity {
    /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                // Riempio l'array dal file xml
                String[] countries = getResources().getStringArray(R.array.countries_array);
               
         setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));
          super.onCreate(savedInstanceState);

          setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, countries));

          ListView lv = getListView();
          lv.setTextFilterEnabled(true);

          lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
                Intent intent = new Intent(getApplicationContext(),Seconda.class);
                startActivity(intent);  
            }
           
          });
        }
}


Questa è la seconda classe che dovrebbe mostare un pulsante che rimanda alla precedente schermata

Codice (Java): [Seleziona]
public class Seconda extends Activity {
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.due);
               
                Button button2 = (Button)findViewById(R.id.button2);
     button2.setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                                Intent intent = new Intent(
                                                getApplicationContext(),
                                                HelloListViewActivity.class
                                        );
                                startActivity(intent);
                        }

               
                });
}}

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Aiuto intent tra 2 activity
« Risposta #1 il: 20 Marzo 2012, 21:58:10 CET »
0
Ciao Dengerl,
che significa l'applicazione ti crasha? Dovresti postare sotto l'adeguato tag il problema che ti rileva il LOGCAT.
Suggerimento: hai registrato nel manifest le activity Seconda.class e HelloListViewActivity.class ????
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.

Offline dengel

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
Re:Aiuto intent tra 2 activity
« Risposta #2 il: 21 Marzo 2012, 00:00:18 CET »
0
Allego il mio android-manifest e poi il logcat(mi dice che non trova la class Seconda ..eppure l'ho inclusa nel file xml)

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

    <uses-sdk android:minSdkVersion="10" />
   
    <activity android:name=".Seconda">
        </activity>
       
    <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name" >
   
        <activity
           android:name=".HelloListViewActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Logcat

03-20 22:57:34.513: E/AndroidRuntime(324): FATAL EXCEPTION: main
03-20 22:57:34.513: E/AndroidRuntime(324): android.content.ActivityNotFoundException: Unable to find explicit activity class {hello.listview/hello.listview.Seconda}; have you declared this activity in your AndroidManifest.xml?
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.app.Activity.startActivityForResult(Activity.java:2827)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.app.Activity.startActivity(Activity.java:2933)
03-20 22:57:34.513: E/AndroidRuntime(324):    at hello.listview.HelloListViewActivity$1.onItemClick(HelloListViewActivity.java:32)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.widget.ListView.performItemClick(ListView.java:3513)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.os.Handler.handleCallback(Handler.java:587)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.os.Handler.dispatchMessage(Handler.java:92)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.os.Looper.loop(Looper.java:123)
03-20 22:57:34.513: E/AndroidRuntime(324):    at android.app.ActivityThread.main(ActivityThread.java:3683)
03-20 22:57:34.513: E/AndroidRuntime(324):    at java.lang.reflect.Method.invokeNative(Native Method)
03-20 22:57:34.513: E/AndroidRuntime(324):    at java.lang.reflect.Method.invoke(Method.java:507)
03-20 22:57:34.513: E/AndroidRuntime(324):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-20 22:57:34.513: E/AndroidRuntime(324):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-20 22:57:34.513: E/AndroidRuntime(324):    at dalvik.system.NativeStart.main(Native Method)


Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Aiuto intent tra 2 activity
« Risposta #3 il: 21 Marzo 2012, 00:09:50 CET »
0
Allora è come dicevo io: ti manca la dichiarazione dell'activity nel manifest.xml
P.S. per postare il codice del logcat utilizza il bottone #

Un'activity nel manifest deve essere in genere così dichiarata:
Codice (XML): [Seleziona]
<application>
<activity  
           android:label="@string/resource_number_one" android:name=".Seconda"  >
                </activity>
               
        <activity  
           android:label="@string/resource_number_two" android:name=".HelloActivity">
                </activity>
</application>

Quindi all'interno dei tag <application> e </application>
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.

Offline dengel

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
Re:Aiuto intent tra 2 activity
« Risposta #4 il: 21 Marzo 2012, 11:31:03 CET »
0
grazie mille.. che stupidata non me n'ero accorto !!