新活动开始时调用的方法

时间:2013-12-12 12:54:21

标签: java android

当我开始新的Android活动时,在活动实际出现在屏幕之前调用的方法是onCreate() - > onStart() - > onResume()?或者在我看到屏幕上的活动之前还有一些更多的呼叫?

我编写了一个应用程序,其中我只覆盖了前面提到的三个onCreate()方法,但是由于某种原因,应用程序崩溃了,尽管onCreate()成功完成了。

onCreate方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.d("SMARTGAN", "starting ChildActivity onCreate()");

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_child);

    // find child for the activity
    child = (Child) getIntent().getSerializableExtra(MainActivity.CHILD);

    // initialization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    adapter = new TabsPagerAdapter(getSupportFragmentManager(), child);

    viewPager.setAdapter(adapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // set action bar properties
    actionBar.setTitle(child.getName());
    actionBar.setIcon(R.drawable.ic_action_person);

    // adding the tabs to the action bar
    for (int i = 0; i < tabs.length; i++) {
        actionBar.addTab(actionBar.newTab().setText(tabs[i])
                .setTabListener(this));
    }

    // set OnPageChangeListener so that whenever the user changes the page
    // the selected tab in the action bar also changes
    viewPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) { }

        @Override
        public void onPageScrollStateChanged(int arg0) { }
    });
    Log.d("SMARTGAN", "ChildActivity onCreate completed");
}

2 个答案:

答案 0 :(得分:0)

也许你会在这个android活动生命周期中找到你的答案

android activity lifecycle

答案 1 :(得分:0)

您是否将自己的活动添加到AndroidManifest.xml文件中?第二种方式:也许你的内容视图有问题(使用setContentView()方法设置视图时)?