我试图使用android提供的onBackPressed()方法来
我使用onBackPressed()
方法的课程:
import com.interviewme.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class Preparing extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preparation);
}
@Override
public void onBackPressed() {
Intent t = new Intent(this, Menu.class);
startActivity(t);
}
}
清单文件中我想回到的部分:
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
应用的完整清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.interviewme"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.interviewme.Splash"
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="com.interviewme.Play"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.PLAY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.interviewme.Result"
android:label="@string/title_activity_result" >
</activity>
<activity
android:name=".Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.interviewme.menu" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.interviewme.About"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.interviewme.InterviewTips"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.interviewme.Preparing"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
来自logcat的错误日志:
05-09 08:09:43.420: E/AndroidRuntime(1741): FATAL EXCEPTION: main
05-09 08:09:43.420: E/AndroidRuntime(1741): Process: com.interviewme, PID: 1741
05-09 08:09:43.420: E/AndroidRuntime(1741): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.interviewme/android.view.Menu}; have you declared this activity in your AndroidManifest.xml?
05-09 08:09:43.420: E/AndroidRuntime(1741): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
05-09 08:09:43.420: E/AndroidRuntime(1741): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
http://androidmanifest.xml/
androidmanifest.xml
我注意到它指出ActivityNotFound
,但是这个Activity
肯定在我的应用程序中,它是否在清单中命名不正确?
答案 0 :(得分:2)
它选择Android默认菜单
删除此行
import android.view.Menu;
并导入您的课程或将您的班级名称菜单更改为其他名称(例如,Menu1)
答案 1 :(得分:0)
您导入了android.view.Menu
。请尝试写出com.interviewme.Menu
。还可以为您的活动使用更好的名称。菜单有点含糊不清。
答案 2 :(得分:0)
显示错误,因为如下: -
import android.view.Menu;
Intent t = new Intent(this, Menu.class);
startActivity(t);
您的代码选择view.Menu。
你必须使用: -
Intent t = new Intent(this, com.interviewme.Menu.class);// where menu class here
startActivity(t);