7

我有2個課程。一個將是一個基本的說明屏幕,在該屏幕上它將有一個菜單,讓你去其他課程。另一個類是MapActivity。我相信問題在於它沒有找到其他階級。我嘗試了幾種不同的方式來聲明查找類的意圖。這是我試過的最新的東西:(?可能是導致問題)Android菜單項目選擇開始活動

@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; 
} 

其延伸活動和地圖類是擴展MapActivity基本類基本類。這裏是我的清單文件的重要組成部分:

<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> 

編輯: 當在logcat的希望弄清楚發生了什麼事,我得到一個java.lang.NoClassDefFoundError和其他一些信息,說「類./Map鏈接失敗「,」找不到類./Map引用方法./Main.run「和」VFY:無法解析const-class 37「

回答

15

您可以使用像這樣的,不要忘了這兩個活動添加到AndroidManifest.xml中:

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

你試過這種方式嗎?

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

你要實現這一行到您的清單

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

如果你做到了這一點,你做錯了!它必須位於<application> </application>標記內。否則你會得到你的錯誤

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