我正在制作一个标签应用程序。在该应用程序中,相同的TabView
将显示在层次结构中的多个活动中。我用了ActivityGroup
在我的应用程序中,我可以从包含选项卡的第一个活动导航到它的子活动,并可以通过按子活动中的按钮返回到以前的活动。在这两个活动之间导航时,我在几次导航后得到StackOverflowError。I tried flag
Intent.FLAG_ACTIVITY_CLEAR_TOP
但它没有帮助。我也试过
finish()
但它完成了整个ActivityGroup
。然后我尝试了method
finishActivityFromChild()
但仍然得到相同的错误。
这是我的代码从第一个活动包含制表符移动到它的子-
intent = new Intent(context, ChildActivity.class);
View view = getLocalActivityManager().startActivity("activity2", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);
和相同的代码,我正在使用返回到父活动点击一个按钮-
public void onClick(View arg0) {
intent = new Intent(context, ParentActivity.class);
View view = getLocalActivityManager().startActivity("activity1", intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
setContentView(view);
finishActivityFromChild(getCurrentActivity(), 0);
}
现在我不知道该怎么做这个问题。任何帮助都是感激的。
我认为一些代码会帮助这里。如果我是你,我会尝试大量的函数调用的打印输出,看看哪些函数被递归调用可能导致堆栈溢出。(有些断点也可以达到这个目的)