0

我试图掌握活动的生命周期回调方法的概念以及它们内部发生的情况。我正在编写一个仅显示文本的小型活动类。问题是活动开始显示,我得到一个对话框说“不幸的是活动生命周期和协调已经停止工作”

  1. 请告诉我如何解决这个问题。

    代码如下:-

    包 com.practice.lifecycle_coordination;

    //import android.app.ActionBar;
    import android.app.Activity;
    //import android.os.Build;
    import android.os.Bundle;
    
    class MainActivity extends Activity{
        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
        }
    
        protected void onStart(){
            super.onStart();
        }
    
        protected void onResume(){
            super.onResume();
        }
    
        protected void onPause(){
            super.onPause();
        }
    
        protected void onStop(){
            super.onStop();
        }
    
        public void onSaveInstanceState(Bundle savedInstanceState){
            super.onSaveInstanceState(savedInstanceState);
        }
    
    }
    

布局文件:-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+string/title"
        android:gravity="center_horizontal"
        android:textStyle="bold" />


</LinearLayout>

字符串资源文件:-

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Activity LifeCycle</string>
    <string name="action_settings">Settings</string>
    <string name="title">MAIN ACTIVITY</string>

</resources>
  1. onSaveInstanceState() 是否在正确的地方实现?如果我想将一些额外的数据保存到包中,这是实现它的正确位置吗?

我知道我不需要编写任何生命周期回调方法,除了 onCreate()。但我只是想检查一下。

4

1 回答 1

0

onCreate()你实际上不必写。您必须编写的唯一生命周期方法是您需要在其中覆盖和实现自己的代码的方法。 然而,onCreate()几乎每个.Activity


至于Is onSaveInstanceState() implemented at the right place?

是的。您的生命周期方法发生的顺序Activity一点也不重要。只要您进行正确的活动,就可以了。当您的活动经历这些生命周期阶段时,这些方法会自动调用。


至于当前代码实际上有什么问题?我们需要更多信息。您的 logcat 将为您提供一些有关实际导致崩溃的信息。发布它,您的问题可以得到更好的诊断。

于 2013-11-06T18:41:17.250 回答