2016-11-09 106 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

注意:如果這不能完全回答你的問題,比我不正確地理解你的問題。