android - 创建新 Activity 后应用程序崩溃

标签 android

所以我做了一个新的 Activity 类:

public class TutorialActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tutorial);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.tutorial, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

在一个线程中我尝试打开它:

public void run() {
            if(newGame) {
                Intent intent = new Intent(this.activity, TutorialActivity.class);
                this.activity.startActivity(intent);
            }

            while(inGame) {
                try {
                    this.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

我看到了新的 Activity ,因为我看到了我在其中设置的文本,但它立即崩溃了。所以它确实加载了 Activity,但随后发生了一些事情,它就崩溃了。

日志:

08-29 23:49:45.242: D/AndroidRuntime(21100): Shutting down VM
08-29 23:49:45.242: E/AndroidRuntime(21100): FATAL EXCEPTION: main
08-29 23:49:45.242: E/AndroidRuntime(21100): Process: com.example.trollacademy, PID: 21100
08-29 23:49:45.242: E/AndroidRuntime(21100): java.lang.RuntimeException: Unable to stop activity {com.example.trollacademy/com.example.trollacademy.MainActivity}: android.util.SuperNotCalledException: Activity {com.example.trollacademy/com.example.trollacademy.MainActivity} did not call through to super.onStop()
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3855)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3908)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread.access$1200(ActivityThread.java:177)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.os.Handler.dispatchMessage(Handler.java:102)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.os.Looper.loop(Looper.java:145)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread.main(ActivityThread.java:5942)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at java.lang.reflect.Method.invoke(Native Method)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at java.lang.reflect.Method.invoke(Method.java:372)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
08-29 23:49:45.242: E/AndroidRuntime(21100): Caused by: android.util.SuperNotCalledException: Activity {com.example.trollacademy/com.example.trollacademy.MainActivity} did not call through to super.onStop()
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.Activity.performStop(Activity.java:6495)
08-29 23:49:45.242: E/AndroidRuntime(21100):    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3852)
08-29 23:49:45.242: E/AndroidRuntime(21100):    ... 10 more

最佳答案

您调用新“TutorialActivity”的 Activity 的 onStop() 方法实现错误。

带有标签@Override的方法应该总是带有一个super调用,所以你的onStop方法应该看起来像这样:

@Override
public void onStop(){
    super.onStop(); // THIS LINE IS MISSING ON YOUR CODE

    //Other things you want to do.
}

您没有发布其他 Activity 的这部分代码,但可能就是这样。您还可以编辑您的问题并添加这部分代码来帮助其他人。

关于android - 创建新 Activity 后应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32292951/

相关文章:

java - FASTest - 'check default' 在 logcat 中发送垃圾邮件

android - 类必须声明为抽象的或实现抽象方法

android - R.java 中的值在运行期间或运行之间是否会发生变化?

android - 是否可以通过我的 android 应用程序执行 adb 命令?

java - GPS 在设备上返回 0.0,0.0 作为纬度和经度,但在模拟器上工作正常

java - 将数据从 fragment 传递到自定义适配器(与 ListView 一起使用)

Android - 如果设备在注册接收器的情况下重新启动,我的后台服务注册的广播接收器无法关闭

java - 如何将String类发送到android中的Activity

android - 不要在 ListView 中停止动画

android - HttpUrlConnection 与发布请求和参数作为 Json 对象 android