我正在尝试从主屏幕上的菜单中的所选选项移至新活动。这样做的代码是
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_settings:
Intent settingsIntent = new Intent(this, SettingsActivity.class);
this.startActivity(settingsIntent);
break;
活动在我的清单文件中设置,如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.test_controller">
<uses-permission android:name="android.permission.BLUETOOTH" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<activity android:name=".SettingsActivity" />
应用程序在遇到错误
的startActivity行时立即崩溃Unable to find explicit activity class {com.test.test_controller/com.test.test_controller.SettingsActivity}; have you declared this activity in your AndroidManifest.xml?
我已离开Android很长一段时间了,所以我无法理解为什么要将包名称放两次?我已经检查了我的设置,并且应用程序ID与清单中的包名称相同,所以我做错了什么?
答案 0 :(得分:0)
在你的android清单中声明你的SettingsActivity:
<activity
android:name=".SettingsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
答案 1 :(得分:0)
在</activity>
之后添加此<intent-filter>
代码,以便系统将其视为两项活动。
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> // add this tag here
<activity android:name=".SettingsActivity" />
答案 2 :(得分:0)
检查Manifest
文件。 <activity>
的{{1}}标记未关闭。
您的.MainActivity
文件应如下所示。
Manifest
希望它有所帮助!!