У меня есть приложение, которое (для простоты) имеет два типа действий - Overview и DetailView.Действие Overview показывает список шагов и позволяет пользователю запустить действие DetailView, соответствующее выбранному шагу.
В действии DetailView пользователь может запустить другой обзор, который показывает шаги, отличные от шагов вродительский элемент текущего DetailView.
В обзоре DetailView запускается с помощью startActivityForResult ().В DetailView, когда пользователь решает запустить второй обзор, я вызываю setResult () и finish (), а затем запускаю новый обзор.В этом случае onActivityResult () и finishFromChild () не запускаются.Вместо этого они запускаются, когда родитель заканчивает (!?).
Я надеюсь, что этот вопрос не слишком глуп:)
Код из обзора:
Intent spIntent = new Intent ();
spIntent.setClassName ("com.testing.testa", "com.testing.testa.Overview");
spIntent.putExtra("id", itemId);
spIntent.putExtra("local", isLocal);
spIntent.putExtra("numberOfSteps", numberOfSteps);
spIntent.putExtra("currentStep", swipeStepNumber);
spIntent.putExtra("name", name);
System.out.println ("swipeStepNum: " + this.swipeStepNumber);
startActivityForResult (spIntent, 0);
...
public void onActivityResult (int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
System.out.pritnln ("Child ended with resultCode: " + resultCode); }
Код из DetailView:
Intent spIntent = new Intent ();
spIntent.setClassName ("com.testing.testa", "com.testing.testa.Overview");
spIntent.putExtra("id", itemId);
spIntent.putExtra("name", sectionedAdapter.getItem(position).toString());
startActivity (spIntent);
Intent die = new Intent ();
die.putExtra ("die", true);
setResult (1, die);
finish ();