Good Day.Im有很多嵌套的布局,我用它来显示视图而不会杀死我的MainActivity视图(这是Boss想要的)递归使用它之后,我来到了指向后退按钮的位置android按我必须由想法回到另一个嵌套的视图,所以我再次调用递归的view.Searching在互联网我来指出,我不能增加android的堆栈内存,并且我得到StackOverFlow错误主要是因为嵌套视图的堆,超过层次结构可以hold.My问题是我怎么能回到我的另一个嵌套的布局从完全不同的布局避免stackoverfowerror?(我的老板想要所有,所以我缺乏功能)。谢谢你事先很多! 发布LogCat和我用来添加视图的一段代码。Android堆栈内存错误(StackOverFlow)
logcat的
java.lang.StackOverflowError
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.widget.ListView.drawChild(ListView.java:3302)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.widget.AbsListView.dispatchDraw(AbsListView.java:2384)
at android.widget.ListView.dispatchDraw(ListView.java:3297)
at android.view.View.draw(View.java:13824)
at android.widget.AbsListView.draw(AbsListView.java:3881)
at android.view.View.getDisplayList(View.java:12742)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.draw(View.java:13824)
at android.widget.FrameLayout.draw(FrameLayout.java:467)
at android.view.View.getDisplayList(View.java:12742)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.draw(View.java:13824)
at android.widget.FrameLayout.draw(FrameLayout.java:467)
at android.view.View.getDisplayList(View.java:12742)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java:12740)
at android.view.View.getDisplayList(View.java:12786)
at android.view.View.draw(View.java:13529)
at android.view.ViewGroup.drawChild(ViewGroup.java:3031)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2885)
at android.view.View.getDisplayList(View.java
代码
context = Profile.this;
activityManager = getLocalActivityManager();
contentViewLayoutParams = new RelativeLayout.LayoutParams(switchlayout.getLayoutParams());
nextActivit = new Intent(Profile.this, CardList.class);
startGroupActivity("activity1", nextActivit);
public void startGroupActivity(String id, Intent intent) {
switchlayout.removeAllViews();
View view = activityManager.startActivity(id, intent).getDecorView();
switchlayout.addView(view, contentViewLayoutParams);
}
+0
我发现它很有趣,当我读到一个关于在stackoverflow中的stackoverflow的问题:D –
+0
哈哈该怎么做android是:D –
+0
你可以使用片段的方式并保持活动 –