G M*_*esh 6 android oncreate android-lifecycle android-activity
我想知道,为什么OnCreate()在活动开始时只调用一次?
我们可以OnCreate()在同一个活动中不止一次打电话吗?
如果是的话,我们怎么称呼呢?谁能举个例子?
非常感谢!!!
你为什么要再打电话呢?除非重建活动,由系统调用.您无法手动调用OnCreate,这与您不会两次调用setContentView()的原因相同.作为文档:
onCreate(Bundle)是初始化活动的地方.最重要的是,在这里,您通常会使用定义UI的布局资源调用setContentView(int),并使用findViewById(int)检索该UI中需要以编程方式进行交互的窗口小部件.一旦你完成初始化你的小部件你为什么要这样做?
更新
我回过头来说,你可以手动完成这个,但我仍然不明白为什么要调用它.你试过碎片吗?
Samplecode:
public class MainActivity extends Activity implements OnClickListener {
private Button btPost;
private Bundle state;
private int counter = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
state = savedInstanceState;
btPost = (Button) findViewById(R.id.btPost);
btPost.setOnClickListener(this);
Toast.makeText(getBaseContext(), " " + counter, Toast.LENGTH_LONG)
.show();
}
@Override
public void onClick(View v) {
counter++;
this.onCreate(state);
}
}
Run Code Online (Sandbox Code Playgroud)