2014-02-25 40 views
0

當我切換兩個視圖(Gris視圖和列表視圖在相同的佈局)。我正在做動畫來切換視圖以在LISTVIEW和GRID VIEW中顯示數據。它正確顯示在gridview中,如果我點擊按鈕切換LISTVIEW。應用程序崩潰,我得到以下日誌信息。切換視圖時的StackOverflowError

注意:相同的代碼在其他版本中正常工作。即使它只在設備上崩潰,而不在模擬器中。

02-25 14:20:00.859: E/AndroidRuntime(3179): FATAL EXCEPTION: main 
02-25 14:20:00.859: E/AndroidRuntime(3179): java.lang.StackOverflowError 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.GLES20Canvas.nGetClipBounds(Native Method) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.GLES20Canvas.getClipBounds(GLES20Canvas.java:471) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.text.Layout.draw(Layout.java:203) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.text.BoringLayout.draw(BoringLayout.java:400) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.widget.TextView.onDraw(TextView.java:5038) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.widget.CompoundButton.onDraw(CompoundButton.java:226) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10982) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10985) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10985) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179): at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10985) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.widget.FrameLayout.draw(FrameLayout.java:450) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.widget.ScrollView.draw(ScrollView.java:1524) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10985) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.draw(View.java:10985) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10421) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.View.getDisplayList(View.java:10419) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
02-25 14:20:00.859: E/AndroidRuntime(3179):  at android.view.ViewGroup.dispatchDraw(ViewGroup.j 
+4

你可以發佈您的代碼,請? – Volodymyr

+0

我們需要您的代碼來提供幫助。 – 09stephenb

+0

對不起,我是StackOverFlow.com的新用戶。我無法在這裏粘貼我的所有代碼。它說,只有30000字符。但一些評論我可以理解這個問題。在我的邏輯中,我膨脹了自定義佈局視圖並添加到線性佈局。然後我將它傳遞給適配器,在Listview中使用哪個適配器。按日計算,我在列表中添加視圖。如果超過一年,它可能會添加365個視圖。但第一天我正面臨着這個問題。 [對不起,我的英文水平] –

回答