java.lang.StackOverflowError di Android 2.2+ API 8 & API 10

Saya telah membaca banyak artikel tentang kesalahan ini dan saya tahu ini tentang tampilan bersarang tetapi masih belum dapat menemukan solusinya.

Saya mendapatkan kesalahan ini pada perangkat API 8 (2.2) atau API 10 (2.3+). 4.x.+ bekerja dengan sangat baik.

lognya adalah;

FATAL EXCEPTION: main
java.lang.StackOverflowError
at android.text.Styled.measureText(Styled.java:430)
at android.text.Layout.measureText(Layout.java:1655)
at android.text.Layout.getLineMax(Layout.java:689)
at android.text.Layout.draw(Layout.java:340)
at android.text.BoringLayout.draw(BoringLayout.java:365)
at android.widget.TextView.onDraw(TextView.java:4150)
at android.view.View.draw(View.java:6880)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6883)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6883)
at android.widget.FrameLayout.draw(FrameLayout.java:357)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.widget.AbsListView.dispatchDraw(AbsListView.java:1480)
at android.widget.ListView.dispatchDraw(ListView.java:3138)
at android.view.View.draw(View.java:6986)
at android.widget.AbsListView.draw(AbsListView.java:2584)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6883)
at android.support.v4.view.ViewPager.draw(ViewPager.java:2176)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6883)
at android.support.v4.view.ViewPager.draw(ViewPager.java:2176)
at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:928)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
at android.view.View.draw(View.java:6883)
at android.widget.FrameLayout.draw(FrameLayout.java:357)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1862)
at android.view.ViewRoot.draw(ViewRoot.java:1522)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1258)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
a

Saya baru saja melihat tampilan daftar di linearlayout dan ini list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selectable_background_card" >

<!-- android:stretchColumns="*" -->

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/txtSinif"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/txtSinif"
    android:orientation="horizontal" >

    <others.TypefaceTextView
        android:id="@+id/txtNo"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginRight="3dp"
        android:gravity="center"
        android:text="1"
        android:textSize="18sp"
        app:customTypeface="fonts/RobotoCondensed-Light.ttf" />

    <others.TypefaceTextView
        android:id="@+id/txtKapi"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginLeft="3dp"
        android:layout_marginRight="3dp"
        android:gravity="center"
        android:text="1"
        android:textSize="18sp"
        app:customTypeface="fonts/RobotoCondensed-Light.ttf" />

    <others.TypefaceTextView
        android:id="@+id/txtPilotad"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ellipsize="end"
        android:gravity="center"
        android:maxLines="1"
        android:scrollHorizontally="true"
        android:text="Y.AVCI"
        android:textSize="18sp"
        app:customTypeface="fonts/RobotoCondensed-Light.ttf" />
</LinearLayout>

<others.TypefaceTextView
    android:id="@+id/txtSinif"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignBottom="@+id/layoutTime"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/layoutTime"
    android:gravity="center"
    android:text="S2"
    android:textSize="18sp"
    app:customTypeface="fonts/RobotoCondensed-Light.ttf" />

<LinearLayout
    android:id="@+id/layoutTime"
    android:layout_width="95dp"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:orientation="vertical" >

    <others.TypefaceTextView
        android:id="@+id/txtZaman"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="+1:33:02.20"
        android:textSize="18sp"
        app:customTypeface="fonts/RobotoCondensed-Light.ttf" />

    <others.TypefaceTextView
        android:id="@+id/txtLiderFark"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="+20.00.5"
        android:textSize="12sp"
        app:customTypeface="fonts/RobotoCondensed-Light.ttf" />
</LinearLayout>

</RelativeLayout>

ini adalah tampilannya pada perangkat 4.x.+. masukkan deskripsi gambar di sini

Dimana letak permasalahan sebenarnya? Baris mana yang harus saya hapus?

Terima kasih atas sarannya.


person Swisyn    schedule 10.08.2014    source sumber
comment
Seperti apa kelas TypefaceTextView Anda?   -  person Simon Marquis    schedule 11.08.2014
comment
ini dia; pastebin.com/BkByQ92q   -  person Swisyn    schedule 11.08.2014
comment
apakah tidak ada yang bisa membantu?   -  person Swisyn    schedule 15.08.2014
comment
Berhasil menyelesaikannya? Saya memiliki masalah yang sama :(   -  person Cícero Moura    schedule 17.12.2014


Jawaban (1)


Pertimbangkan komentar ini untuk masalah Anda

"Anda memiliki terlalu banyak tata letak bersarang. Anda dapat memeriksa blog resmi Android di d.android.com untuk mendapatkan tip dan trik tentang cara mengoptimalkan tata letak."

Dan

"Dalam kasus saya, hal ini disebabkan oleh tata letak bersarang (daftar kompleks) dalam daftar di dalam pager tampilan fragmen di dalam fragmen lain, menggunakan dukungan v4 dan pustaka HoloEverywhere v1.4.

Saya harus menghapus fragmen yang bersarang dan membuatnya dengan cara yang berbeda."

Diskusi di sini: kesalahan java.lang.StackOverFlow. Diduga terlalu banyak penayangan?

person Cícero Moura    schedule 17.12.2014