我有一个父活动和一个扩展父活动的子活动。当父母启动子活动时,
哪个 onCreate 首先执行?孩子的还是父母的?
我在 Child 活动的 onCreate 方法中设置了一个特定变量,现在,看起来需要一段时间才能到达 Child 活动的 onCreate,因此 Parent 中的方法报告一个空变量。而当我让父级睡眠一段时间时,它会报告正确的变量。
谢谢克里斯
家长活动:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
goButton = (ImageButton) this.findViewById(R.id.goButton);
goButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Intent childIntent = new Intent("com.example.Child");
String newValue = "Child Value";
Bundle bun = new Bundle();
bun.putString("value", newValue); // add two parameters: a string and a boolean
childIntent.putExtras(bun);
startActivity(childIntent);
}
});
this.doTheWork("Parent Value");
}
private void doTheWork(String value) {
new MyNewThread(value).start();
}
public String getTheValue(String value) {
return "My Value is: " + value;
}
private class MyNewThread extends Thread {
String value;
public LoadThread(String v) {
this.value = v;
}
@Override
public void run() {
String str = getTheValue(this.value);
}
}
儿童活动:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bun = getIntent().getExtras();
childValue = bun.getString("value");
}
public String getTheValue(String value) {
return "My Value is: " + value;
}
所以,基本上,即使在父启动子之后,它仍然返回“父值”,但是当我让线程休眠时,它返回“子值”。