У меня есть родительское действие и дочернее действие, которое расширяет родительское действие. Когда родитель начинает дочернюю деятельность,
Какой onCreate выполняется первым? Ребенок или родитель?
Существует определенная переменная, которую я устанавливаю в методе onCreate дочернего действия, и сейчас, похоже, требуется время, чтобы добраться до onCreate дочернего действия, и поэтому методы в Parent сообщают о пустой переменной. Принимая во внимание, что когда я заставляю Родителя спать некоторое время, он сообщает правильную переменную.
Спасибо
Chris
Активность родителей:
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;
}
Таким образом, в принципе, даже после того, как Parent запускает Child, он по-прежнему возвращает «Parent Value», но когда у меня спит поток, он возвращает «Child Value».