Android启动菜单项选择活动

Android启动菜单项选择活动,android,menu,android-activity,android-intent,android-2.1-eclair,Android,Menu,Android Activity,Android Intent,Android 2.1 Eclair,我有两门课。一个是基本指令屏幕,在该屏幕上有一个菜单,可以让你进入另一个类。另一个类是MapActivity。我相信问题在于找不到另一个班级。我尝试了几种不同的方法来声明查找类的意图。这是我最近尝试过的一件事: @Override public boolean onCreateOptionsMenu(Menu menu){ MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main

我有两门课。一个是基本指令屏幕,在该屏幕上有一个菜单,可以让你进入另一个类。另一个类是MapActivity。我相信问题在于找不到另一个班级。我尝试了几种不同的方法来声明查找类的意图。这是我最近尝试过的一件事:

@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;
}
它是扩展活动的基本类,而map类是扩展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失败”、“无法找到从方法/Main.run引用的类。/Map”和“VFY:无法解析const class 37”

您尝试过这种方法吗

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

您可以这样使用,不要忘记将这两个活动添加到AndroidManifest.xml:

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

您必须在清单中实现这一行

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

如果你已经这么做了,那你就做错了!它必须位于
标记内。否则你会得到你的错误

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