应用程序崩溃与java.lang.stackOverflow异常

时间:2016-05-30 12:03:29

标签: java android xml

我正在开发应用程序,我正在尝试启动一个名为" PensionStatusActivity"来自" MainActivity"只是通过意图。

这是MainActivity中的主叫线。

startActivity(new Intent(MainActivity.this, PensionStatusActivity.class));

PensionStatusActivity活动填充XML,因为它的布局是......

activity_pension_status.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="2sp"
   android:orientation="vertical">

    <LinearLayout
        android:id="@+id/llGo"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="5sp"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5sp"
            android:paddingLeft="10sp"
            android:background="#D4D8D1"
            android:textColor="#332C2F"
            android:textStyle="bold"
            android:text="@string/button_pension_status"/>

        <EditText
            android:id="@+id/etSamagraIdStatus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/et_back"
            android:paddingLeft="10sp"
            android:imeActionLabel="Done"
            android:singleLine="true"
            android:inputType="number"
            android:maxLength="9"
            android:layout_marginTop="20sp"
            android:hint="Samagra ID"/>
        <Button
            android:id="@+id/btnGetStatus"
            android:layout_height="40sp"
            android:layout_width="wrap_content"
            android:background="@drawable/button_go"
            android:textColor="#FFFFFF"
            android:layout_marginTop="10sp"
            android:text="स्थिति देखें "/>


            <!--Table View-->
            <TableLayout
                android:id="@+id/tlMemberProfile"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:padding="3sp"
                android:background="#D8D8D8"
                android:layout_marginTop="5sp">

                <TableRow
                    style="@style/trSchemesDetail">
                    <TextView
                        style="@style/tvSchemeDetailTable"
                        android:text="Name"/>
                    <TextView
                        android:id="@+id/tvName"
                        style="@style/tvSchemeDetailTable"
                        />
                </TableRow>
                <TableRow
                    style="@style/trSchemesDetail">
                    <TextView
                        style="@style/tvSchemeDetailTable"
                        android:text="Gender"/>
                    <TextView
                        android:id="@+id/tvGender"
                        style="@style/tvSchemeDetailTable"
                        />
                </TableRow>
                <TableRow
                    style="@style/trSchemesDetail">
                    <TextView
                        style="@style/tvSchemeDetailTable"
                        android:text="Date Of Birth"/>
                    <TextView
                        android:id="@+id/tvDOB"
                        style="@style/tvSchemeDetailTable"
                        />
                </TableRow>
            </TableLayout>


        <ListView
            android:id="@+id/lvPensionStatus"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    <include
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        layout="@layout/footer"/>

</LinearLayout>
</LinearLayout>

在PensionStatusActivity中,我使用下面的行填充xml。

setContentView(R.layout.activity_pension_status);

我的问题是当控件遇到此填充线应用程序崩溃时。在Samsung Galexy Tab 4.4 Android OS上使用 java.lang.stackOverFlowException 。虽然与其他设备运行良好..

日志如下

java.lang.StackOverflowError
    at java.lang.ref.FinalizerReference.<init>(FinalizerReference.java:42)
    at java.lang.ref.FinalizerReference.add(FinalizerReference.java:54)
    at android.content.res.XmlBlock$Parser.<init>(XmlBlock.java:79)
    at android.content.res.XmlBlock.newParser(XmlBlock.java:72)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3707)
    at android.content.res.Resources.loadDrawable(Resources.java:3440)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930)
    at android.content.res.Resources.loadDrawable(Resources.java:3442)
    at android.content.res.Resources.getDrawable(Resources.java:1924)
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990)
    at android.gr

请帮助解决问题。

提前致谢..

1 个答案:

答案 0 :(得分:2)

根据stacktrace,这是可绘制资源中的循环引用。尝试执行以下操作:

  1. 评论您布局中的所有儿童。
  2. 运行ant test。应用程序应该可以工作。
  3. 取消注释一个子视图
  4. 运行并测试。如果没问题,请转到第3点。如果没有,则上次添加的视图包含对已损坏资源的引用
  5. 检查找到的视图所使用的所有可绘制资源