제 질문은 프로젝트를 재구성하는 방법에 대해 더 자세히 논의하거나이 상황을 해결하는 것입니다.onActivityResult - 중첩 된 액티비티 사용하기
다음 스키마가 있습니다. MainActivity, TabHost, 각 기존 탭에 대한 활동로드. FirstTabActivity
Intent intent = new Intent(CreateCommentsActivity.this, SelectPicturesActivity.class);
startActivityForResult(intent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i("TAG", "onActivityResult");
}
: 그래서 첫 번째 탭 메신저 통화를 위해 /를
FirstTabActivity를 열고,이 FirstTabActivity가 (일부 사진을 선택하기 위해) 다른 액티비티를 호출하는 것은이 내가이 원하든입니다
GalleryPickActvity
라고
GalleryPickActvity
Intent intent = new Intent(GalleryPickActvity.this,
FirstTabActivity.class);
setResult(Activity.RESULT_OK, intent);
finish();
방법 : onActivityResult은 결코 호출되지 않습니다. 메신저가 중첩 된 활동을 사용하므로 결과가 손실됩니다. 내가 어떻게이 문제를 해결할 수
에도이 아니 가장 좋은 방법 (- -> 활동> 활동 활동) :
그래서 나는이 개 질문이?
이런 상황을 구조화하는 가장 좋은 방법은 무엇입니까? 나는 모든 탭 활동에 국가를 유지할 필요가 있으며, 나는 그것을 활동으로 (지금의 방식대로) 할 수 있습니다. 당신은 모든 올바른 것을 알기 위해 몇 가지 매개 변수 만
startActivity()
를 사용할 수있는 세 번째 활동을 열려는 잘 경우
startActivityForResult() 및 onActivityResult()를 호출하는 활동이 두 번째 활동입니다. – Bugdr0id
그러면'setResult (Activity.Result_OK);를 사용하십시오. finish();'이전 활동으로 돌아 가려는 경우 의도가 필요하지 않습니다. – zozelfelfo
하지만 onActivityResult() 메서드는 호출되지 않습니다. – Bugdr0id