7

2 sınıfım var. Biri temel talimat ekranı olacak ve o ekranda diğer sınıfa gitmenizi sağlayacak bir menüye sahip olacak. Diğer sınıf bir MapActivity'dir. Sorun şu ki, diğer sınıfı bulamıyor. Sınıfı bulma niyetini bildirmenin birkaç farklı yolunu denedim. Bu denedim son teknoloji olan: (? Bir soruna neden olabilir) Aktivite ve harita sınıfı MapActivity uzanan temel sınıftır uzanırAndroid start etkinliğinde Menü öğesi seçimi

@Override 
public boolean onCreateOptionsMenu(Menu menu){   
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.mainmenu, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item){ 
    switch(item.getItemId()){ 
    case R.id.goToMap: 
     Intent intent = new Intent(); 
     intent.setClassName(Main.this, "Map.Class"); 
     startActivity(intent); 
     return true;    
    } 
    return false; 
} 

Onun temel sınıf. Ve işte benim Manifest dosyası önemli bir parçasıdır:

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Campus_Map" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Main" android:label="Instructions" ></activity> 
    <activity android:name=".Map" android:label="Map"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     </intent-filter> 
    </activity> 

</application> 

Düzenleme: neler olduğunu anlamaya LogCat bakarken , bir Java.lang.NoClassDefFoundError ve söyleyerek birkaç diğer mesajlar "alıyorum Sınıfın bağlantısı ./Map başarısız oldu, "Sınıf bulunamadı./Yöntemden başvurulan dosya bulunamadı ./Main.run" ve "VFY: const sınıfı 37'yi çözümleyemiyor"

cevap

15

Böyle kullanabilir ve AndroidManifest.xml hem etkinliklerini eklemek için unutma: Sen Manifest

<uses-library android:name="com.google.android.maps" /> 

Eğer içine bu çizgiyi uygulamak zorunda

Intent launchNewIntent = new Intent(CurrentClass.this,SecondClass.class); 
startActivityForResult(launchNewIntent, 0); 
3

Bu şekilde denediniz mi?

Intent intent = new Intent(Main.this, Map.class); 
1

Bunu zaten yaptın zaten yanlış yaptın! <application> </application> etiketinde olmalı. Aksi takdirde hata alacak

2
case R.id.home: 
    startActivity(new Intent(main.this, map.class)); 
    return true; 
İlgili konular