gpt4 book ai didi

Android Parent and Child Activity onCreate问题

转载 作者:太空狗 更新时间:2023-10-29 13:43:16 25 4
gpt4 key购买 nike

我有一个父 Activity 和一个扩展父 Activity 的子 Activity 。当 parent 开始 child Activity 时,

哪个onCreate先执行? child 的还是 parent 的?

我在 Child Activity 的 onCreate 方法中设置了一个特定的变量,现在看起来需要一段时间才能到达 Child Activity 的 onCreate,因此 Parent 中的方法报告一个空变量。而当我让 Parent 睡一会儿时,它会报告正确的变量。

谢谢克里斯

家长 Activity :

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);
}
}

子 Activity :

@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;
}

所以,基本上,即使在 Parent 启动 Child 之后,它仍然返回“Parent Value”,但是当我让线程休眠时,它返回“Child Value”。

最佳答案

你的扩展类的方法(子类)首先被调用,但是你的父类(super class)的方法紧接着被调用,因为你的子类方法的第一行是

child Activity

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

}

这是对父类(super class)的 onCreate 方法的显式调用。

关于Android Parent and Child Activity onCreate问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com