0

私はかなり複雑なものを作成しました。主なクラスはtabhostで、ウィジェットとして3つのtabhostsが含まれています。一部のタブウィジェットにはlistviewsが含まれており、リストの1つがスタックオーバーフローエラーの原因となっています。TabWidgets、ListViewなど多くの原因stackoverflow

しかし、この種のエラーはジンジャーブレッド(すべてのデバイスではない)でのみ発生します。私は本当にこのエラーを取り除く方法を知らない。この前

私はlistviewの各項目に3-4 linearlayoutsを持っていたが、今私はこの代わりに、私はrelativelayoutを得ました。これは助けになったが、しばらくの間しか役に立たなかった。

1つのアプリがうまく機能していて、もう1つは常にクラッシュしている可能性がありますか?コードのいくつかのブロックを再帰的にandroid.view.View.drawメソッドを呼び出しているようだスタックトレースから

java.lang.StackOverflowError 
at android.widget.TextView.onDraw(TextView.java:4321) 
at android.view.View.draw(View.java:6970) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.view.View.buildDrawingCache(View.java:6695) 
at android.view.View.getDrawingCache(View.java:6475) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1657) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.widget.AbsListView.dispatchDraw(AbsListView.java:1480) 
at android.widget.ListView.dispatchDraw(ListView.java:3193) 
at android.view.View.draw(View.java:6973) 
at android.widget.AbsListView.draw(AbsListView.java:2588) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1730) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at android.view.ViewGroup.drawChild(ViewGroup.java:1732) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459) 
at android.view.View.draw(View.java:6973) 
at android.widget.FrameLayout.draw(FrameLayout.java:357) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1961) 
at android.view.ViewRoot.draw(ViewRoot.java:1600) 
at android.view.ViewRoot.performTraversals(ViewRoot.java:1321) 
at android.view.ViewRoot.handleMessage(ViewRoot.java:1957) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:150) 
at android.app.ActivityThread.main(ActivityThread.java:4263) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
at dalvik.system.NativeStart.main(Native Method) 
+1

クラッシュがlogcatに出力するスタックトレースと、このスタックトレースに記載されているコードを投稿してください。それがなければ私たちはあなたを助けることができません。 – Janusz

答えて

1

のためのあなたのコードを投稿してください私は怒鳴るレイアウトのようにリストビューの行を使用して同じ問題を抱えていました:あなたが見ることができるように

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 

<FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#FFE60000"> 

    <TextView android:id="@+id/header_category_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Category goes here..." 
     android:padding="1dp" 
     style="@style/offers_group_category"> 
    </TextView> 

</FrameLayout> 

<FrameLayout android:id="@+id/container_flipper" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <ViewFlipper android:id="@+id/flipper" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

    </ViewFlipper> 

</FrameLayout> 

<LinearLayout 
    android:id="@+id/container_dots" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginBottom="2dp" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/im_dot_full" 
    /> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/im_dot_empty" 
    /> 

</LinearLayout> 

私は、ほとんど私はそれをテストしたデバイスの中では良い仕事をしていたでframeLayout内部ViewFlipperを、持っていましたしかし、HTC Wildfire S(Ghingerbreadを搭載したすべての携帯電話)ではクラッシュしていました。だから私の場合、解決策は、FrameLayoutからViewFlipperを取り出すことでした。 それがあなたを助けてくれることを願っています。

+0

私はFlipperと同じものを持っていましたが、私の場合FlipperViewはすべてのデバイスでクラッシュしました... – goodm

0

、詳細

+0

"再帰呼び出し" - おそらくこれはリストビュー項目です。私はちょうど私のアプリのクラッシュでビデオを見て、おそらく私は解決策を見つけた。 2つのオプションがあります:1 - リストビュー項目の線形レイアウトが多すぎます(これはコードの一部であり、役立ちます)2 - バックグラウンドで機能するリフレッシュ機能がデータベースをいっぱいにしませんでした。したがって、リスト作成者は空のデータベースを呼び出してクラッシュします。それをチェックします。ありがとう。 – goodm

関連する問題