我应该把函数setContentView()放在哪里?

问题描述 投票:1回答:1

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

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);
    }
}
android put setcontentview
1个回答
0
投票

你应该将它放在onCreate中,如下所示:

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

欲了解更多信息,请查看Android Documentation

我认为你试图用layout.demo做的是在你的MainActivity中增加一个额外的视图。那你就不应该使用setContentView()。要在布局中展开视图,可以使用LayoutInflater

注意:如果这不能完全回答您的问题,那么我不能正确理解您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.