5

Tôi đang làm việc trên một ứng dụng Android. trong một hoạt động của tôi, tôi đang sử dụng PullToRefreshListView. đôi khi tôi nhận được java.lang.StackOverflowError Ngoại lệ đối với hoạt động của tôi. tôi đã cố gắng sửa chữa nó và tôi cũng đã tìm kiếm trên google nhưng không nhận được giải pháp hoàn hảo.Ứng dụng ném ngoại lệ java.lang.StackOverflowError trong Hoạt động

tôi có hai hoạt động có cùng chức năng với PullToRefreshListView có cùng dữ liệu. nhưng tôi nhận được ngoại lệ này chỉ trên một hoạt động. hoạt động khác đang hoạt động tốt.

Đây là toàn bộ StakeTrace của tôi.

Hãy giúp tôi. Xin lỗi vì vốn tiếng anh nghèo của tôi.

Thankx trước.

java.lang.StackOverflowError 
at android.text.TextLine.handleText(TextLine.java:749) 
at android.text.TextLine.handleRun(TextLine.java:972) 
at android.text.TextLine.measureRun(TextLine.java:416) 
at android.text.TextLine.measure(TextLine.java:295) 
at android.text.TextLine.metrics(TextLine.java:269) 
at android.text.Layout.getLineExtent(Layout.java:942) 
at android.text.Layout.draw(Layout.java:405) 
at android.text.BoringLayout.draw(BoringLayout.java:400) 
at android.widget.TextView.onDraw(TextView.java:5038) 
at android.view.View.draw(View.java:10982) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.widget.ListView.drawChild(ListView.java:3223) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.widget.AbsListView.dispatchDraw(AbsListView.java:2092) 
at android.widget.ListView.dispatchDraw(ListView.java:3218) 
at com.handmark.pulltorefresh.library.PullToRefreshListView$InternalListView.dispatchDraw(PullToRefreshListView.java:293) 
at android.view.View.draw(View.java:10985) 
at android.widget.AbsListView.draw(AbsListView.java:3398) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:928) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.widget.FrameLayout.draw(FrameLayout.java:450) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.getDisplayList(View.java:10419) 
at android.view.ViewGroup.drawChild(ViewGroup.java:2850) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489) 
at android.view.View.draw(View.java:10985) 
at android.widget.FrameLayout.draw(FrameLayout.java:450) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126) 
at android.view.View.getDisplayList(View.java:10421) 
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:842) 
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1943) 
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1667) 
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2475) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4424) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
at dalvik.system.NativeStart.main(Native Method) 
+1

Khi nào điều này xảy ra? Bạn cũng nên chia sẻ mã hoạt động và bố cục xml của mình. – helleye

+0

@helleye: khi tải hoạt động. tôi nghĩ rằng đây là vấn đề với bố trí lồng nhau (được mô tả bởi Saras ở dưới bình luận) – Ajay

Trả lời

6

Một trong những lý do khiến StackOverflow ngoại lệ xảy ra là do lồng vào Bố cục. Nhưng vấn đề này sẽ chỉ xảy ra tối đa 4.0 và thấp hơn, vượt ra ngoài ngoại lệ stackoverflow đó sẽ không xảy ra nhiều. Kiểm tra xem bạn có nhiều bố cục lồng nhau trong xml của mình để tránh sự cố này không. Vui lòng đăng xml của bạn để trợ giúp thêm.

+0

tôi nghĩ rằng bạn là đúng. tôi đang giảm chế độ thừa kế bố trí. nó nên được sửa chữa ngay bây giờ. và vấn đề này phát sinh trong Android 4.1.1. làm việc tốt với 4.2.2 và các thiết bị ICS và JB khác. – Ajay

+0

ok chắc chắn, tôi sẽ – Ajay

+0

Tôi cũng nhận được lỗi này do phân cấp bố cục phức tạp bằng cách sử dụng Android 4.2.2 nhưng ở trên tôi không nhận được – Android007

Các vấn đề liên quan