我有2节课。一个将是一个基本的指令屏幕,在该屏幕上它将有一个菜单,让你去另一个班级。另一个类是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;
}
它是一个扩展Activity的基本类,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的链接失败”,“无法找到从方法引用的类./Map”。 /Main.run“和”VFY:无法解析const-class 37“
答案 0 :(得分:16)
您可以像这样使用,不要忘记将这两个活动添加到AndroidManifest.xml:
Intent launchNewIntent = new Intent(CurrentClass.this,SecondClass.class);
startActivityForResult(launchNewIntent, 0);
答案 1 :(得分:3)
你试过这种方式吗?
Intent intent = new Intent(Main.this, Map.class);
答案 2 :(得分:2)
case R.id.home:
startActivity(new Intent(main.this, map.class));
return true;
答案 3 :(得分:1)
您必须将此行实现到您的清单中
<uses-library android:name="com.google.android.maps" />
如果你这样做了,你做错了!它必须在<application> </application>
标记内。否则你会收到错误