부모 활동과 부모 활동을 확장하는 하위 활동이 있습니다. 부모가 자식 작업을 시작하면Android 부모 및 자녀 활동 관련 질문하기
먼저 실행되는 onCreate는 무엇입니까? 아이 또는 부모는?
하위 활동의 onCreate 메소드에서 설정하는 특정 변수가 있으며, 지금은 하위 활동의 onCreate에 도달하는 데 시간이 걸리는 것으로 보이므로 부모 변수의 메소드가 빈 변수를보고하고 있습니다 . 반면에 잠시 부모님을 잠자 게하면 올바른 변수가보고됩니다.
감사 크리스
학부모 활동 :
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;
}
그래서, 기본적으로 부모가 자식을 시작 후에도 여전히 반환 "부모 값" ,하지만 스레드가 잠을 때 "자식 값"반환합니다.
코드를 게시하는 것이 좋습니다. – primpap
코드의 * all *을 게시하는 것이 더 좋을 것입니다. Java 상속 ("extends")을 startActivity()로 혼동하는 것처럼 느껴 지므로 여기에 정확히 무엇을 적어 뒀는지 이해하는 것은 매우 어렵습니다. – CommonsWare
실망 스럽지만 실제로는 extends 및 startActivity와 혼동 스러웠습니다. 나는 슈퍼를 먼저 호출하고 있었고, 이것이 바로 부모님의 onCreate가 먼저 처형당하는 이유입니다. CommonsWare 감사합니다! – Chris