我知道onCreate()函数用于构造活动和UI组件,但是当我尝试在函数onStart()或onResume()中放置setContentView(R.layout.activity_main)时,UI组件就是apper,这就是为什么?
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 :(得分:0)
你应该把它放在onCreate中,就像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
有关详细信息,请查看Android Documentation
我认为您尝试使用layout.demo会在MainActivity中增加额外的视图。 那么你不应该使用 setContentView()。要在布局中展开视图,您可以使用LayoutInflater。
注意:如果这不能完全回答您的问题,请不要理解您的问题。