Android ActivityNotFoundException在意图打开另一个活动时

Android ActivityNotFoundException在意图打开另一个活动时,android,android-intent,android-activity,Android,Android Intent,Android Activity,在你否决投票之前:我已经在谷歌上搜索了一个多小时,但仍然不明白为什么这不起作用。我跟在后面 我想从我的主要活动中打开另一个活动。 这是我的主要活动类(MainActivity.java): 这是Activity2.java: public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(

在你否决投票之前:我已经在谷歌上搜索了一个多小时,但仍然不明白为什么这不起作用。我跟在后面

我想从我的主要活动中打开另一个活动。 这是我的主要活动类(
MainActivity.java
):

这是
Activity2.java

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout l = new LinearLayout(this);
        Button b = new Button(this);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent goToActivity2 = new Intent(MainActivity.this, Activity2.class);
                MainActivity.this.startActivity(goToActivity2);
            }
        });
        l.addView(b);

        this.setContentView(l);
    }
}
public class Activity2 extends Activity {

}
如果我运行应用程序,我将看到一个灰色按钮的主要活动。如果单击该按钮,则会出现异常:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.testing.kaarelp.androidtest2/com.testing.kaarelp.androidtest2.Activity2}; have you declared this activity in your AndroidManifest.xml?
为什么我会有例外?这里怎么了

-------------编辑1---------------

好的,我在清单中声明了其他活动,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.testing.kaarelp.androidtest2">

    <application>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Activity2" />
    </application>

</manifest>

。。。这个应用程序现在可以工作了!然而,我现在看到的是另一个工作代码示例,它有多个未在清单中声明的活动,并且仍然有效。怎么回事

-------------编辑2---------------


啊,我知道了。我正在查看的代码示例包含多个
片段
-s,而不是
活动
-s

您必须在
AndroidManifest.xml
文件中声明
活动

<activity android:name=".Activity2"/>

您必须在
AndroidManifest.xml
文件中声明
活动

<activity android:name=".Activity2"/>


从异常中读取消息;“您是否在AndroidManifest.xml中声明了此活动?”我已经读过了。我知道您不必在“是”中声明非主要活动。每一个。@gibs,您必须声明清单中的每一个
活动
MainActivity
只需要另一个
intent filter
标记。是否有指向此代码示例的链接?请阅读异常中的消息;“您是否在AndroidManifest.xml中声明了此活动?”我已经读过了。我知道您不必在“是”中声明非主要活动。每一个。@gibs,您必须声明清单中的每一个
活动
MainActivity
只需要另一个
intent filter
标记。是否有指向此代码示例的链接?