2016-11-09 62 views
1

我知道函数onCreate()用于构造活动和UI组件,但是当我尝试在函数onStart()或onResume(),UI组件apper中放置setContentView(R.layout.activity_main)时,这就是为什么?在哪里我把功能setContentView()?

package com.example.E001; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 


public class MainActivity extends Activity { 

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

    protected void onStart() { 
     super.onStart(); 
     setContentView(R.layout.activity_main); 
     //setContentView(R.layout.demo); 
     Button btn_welcome = (Button)this.findViewById(R.id.welcome_msg); 
     btn_welcome.setText(R.string.hello_world); 
    } 
} 

回答

0

你应该把它在OnCreate,就像这样:

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

欲了解更多信息看在Android Documentation

我认为你正在尝试做的layout.demo是在MainActivity中充注额外的视图。 然后你不应该使用setContentView()。对于布局中的视图膨胀,您可以使用LayoutInflater

注意:如果这不能完全回答你的问题,比我不正确地理解你的问题。