질문 시퀀스를 처리하는 클래스가 있습니다. 활동을 연장하지 않습니다.) 자식 활동을 내가부모 작업이 매개 변수로 비 활동 클래스의 인 텐트에 전달 될 때 onActivityResult가 finish()에 의해 호출되지 않습니다.
mQuizMaster.startQuiz(this, mModel);
와 작업 활동에서이 메소드를 호출 내가 (이 끝나면
public class QuizMaster {
public void startQuiz(Activity activity, Model model) {
//switch - case statement using model
Intent intent = new Intent(activity, QuestionTextActivity.class)
activity.startActivityForResult(intent, requestCode);
//other case statements with other intents
}
}
가 :
Intent returnIntent = new Intent();
returnIntent.putExtra(ARG_SELECTED_CHECKBOX, checkedBox);
setResult(RESULT_CODE, returnIntent);
finish();
그것은 아무튼 클래스에서 방법이있다 상위 활동을 실행하지 않음
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
Log.d(LOG_TAG, "OnActivityResult called in SignDetailsActivity. Resultcode is: ");
}
하지만 실제 부모 활동 파일에
Intent intent = new Intent(activity, QuestionTextActivity.class)
activity.startActivityForResult(intent, requestCode);
을 실행할 때, 그것은 onActivityResult를 방법을 실행한다.
활동이없는 클래스와 함께 보낸 경우 하위 활동이 상위 활동에서 onActivityResult를 실행하지 않는 이유는 무엇입니까? 이 문제를 어떻게 해결할 수 있습니까?
이와 같은 비 활동 클래스에서 새로운 Intent()를 실행할 때 동일한 문제가있는 사람을 찾지 못했습니다. 누군가가 있다면 올바른 검색 키워드를 사용하지 않았고 다른 일부는 내가 입력 한 것과 같은 형식으로이 페이지에 올 수 있습니다.
새로운 의도는 당신은 당신의 코드 예제를 업데이트하십시오 수 있습니다 .. "startActivity를"또는 코드 "에 startActivityForResult"와 같은 무언가가 있어야 활동을 시작하지 않습니다 ? – Bmuig
죄송합니다, 질문에 해당 코드 줄을 추가하는 것을 잊었습니다. – Janneman96
이것은 7 개의 케이스를 가진 스위치로, 모두 다른 아이 클래스를 의도에 넣습니다. 하나를 선택하면 항상 4 개의 inent.putExtra 및 activity.startActivityForResult (intent, requestCode)가 수행됩니다. – Janneman96