【问题标题】:Application crashes with ActivityNotFoundException应用程序因 ActivityNotFoundException 而崩溃
【发布时间】:2016-06-23 13:47:50
【问题描述】:

我对下一个活动有一些问题 - 我做了一个按钮,当你点击它的时候,一个intent正在生成,然后你startActivity()这个intent。

我声明了源类和目标类。每次我单击该按钮时,它都会关闭应用程序并显示“不幸的是,我的第一个应用程序已停止”。有什么帮助吗? 提前致谢。

package com.myfirstapplication.owner.myfirstapplication;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    Button nextAc;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        nextAc = (Button) findViewById(R.id.nextPageButton);

        nextAc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, SecondActivity.class);

                Bundle fromMain = new Bundle();
                fromMain.putString("BundleInfo","Look at that.");

                i.putExtras(fromMain);
                startActivity(i);

            }
        });

    }
}

日志:

06-15 12:10:03.673 2389-2389/com.myfirstapplication.owner.myfirstapplication E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.myfirstapplication.owner.myfirstapplication, PID: 2389
   android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myfirstapplication.owner.myfirstapplication/com.myfirstapplication.owner.myfirstapplication.SecondActivity}; have you declared this activity in your AndroidManifest.xml?
       at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)
       at android.app.Activity.startActivityForResult(Activity.java:3917)
       at android.app.Activity.startActivityForResult(Activity.java:3877)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:842)
       at android.app.Activity.startActivity(Activity.java:4200)
       at android.app.Activity.startActivity(Activity.java:4168)
       at com.myfirstapplication.owner.myfirstapplication.MainActivity$1.onClick(MainActivity.java:76)
       at android.view.View.performClick(View.java:5198)
       at android.view.View$PerformClick.run(View.java:21147)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5417)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
06-15 12:10:06.361 2389-2389/com.myfirstapplication.owner.myfirstapplication I/Process: Sending signal. PID: 2389 SIG: 9

第二个活动:

package com.myfirstapplication.owner.myfirstapplication;


import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;


public class SecondActivity extends AppCompatActivity {

    TextView tv;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_activity);

        TextView tv = (TextView)findViewById(R.id.tvID);

        Bundle fromMain = getIntent().getExtras();
        tv.setText(fromMain.getString("BundleInfo"));
    }

}

【问题讨论】:

  • 也提供您的日志
  • 对不起 - 我是这个行业的新手。记录?
  • 无论 logcat 打印什么都粘贴在这里
  • 你有没有在 manifest 文件中声明 SecondActivity。
  • 自己检查您的控制台日志:have you declared this activity in your AndroidManifest.xml? 请分享清单文件。我认为这就是问题

标签: android


【解决方案1】:

在清单文件中声明您的 SecondActivity。

 <application>
 <activity android:name=".SecondActivity" />
 </application>

【讨论】:

  • 谢谢!我在第二个活动中有一些动作。我点击按钮后,它只是黑色的。有什么帮助吗?谢谢!
  • 将 contentview 设置为您的活动,就像您在第一个活动中所做的那样。你没有设置任何视图,这就是它显示黑色的原因。@Tom
  • 工作!谢谢!
【解决方案2】:

我想你忘了在 Manifest.xml 中声明你的活动

只需在 Manifest 中标记您的 Activity 类,即可解决您的问题 :)

【讨论】:

    【解决方案3】:

    如果您忘记在清单文件中添加活动,将发生以下异常:

    android.content.ActivityNotFoundException: Unable to find explicit activity class {com.myfirstapplication.owner.myfirstapplication/com.myfirstapplication.owner.myfirstapplication.SecondActivity}; have you declared this activity in your AndroidManifest.xml?
    

    要向清单文件添加新的活动,只需写以下行:

    <activity android:name=".SecondActivity"/> // if your activity is in main package
    

    或

    <activity android:name="com.myfirstapplication.owner.myfirstapplication.SecondActivity"/> // if your activity is any other package.
    

    Activity 将被添加到您的标签之间。

    请记住,我不会在您的活动中添加任何操作或模式。如果您对自己的活动有特定的操作,可以在此处提供。

    编码愉快!!!

    【讨论】:

    • 首先谢谢你!做到了,它没有粉碎!虽然我在第二个活动中做了一些动作。编辑了主要帖子,它就在那里。有什么帮助吗?谢谢!
    【解决方案4】:

    在清单文件中声明活动

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

    在应用标签下

    【讨论】:

    • 太好了,我忘记了(实际上,不知道)。谢谢!
    猜你喜欢
    • 2023-03-14
    • 2019-12-26
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 2013-07-16
    相关资源
    最近更新 更多