InflateException膨胀类RadioButton

时间:2019-09-02 20:25:09

标签: android xml android-layout

我的应用程序出现错误。我检查了firebase crashlytics,然后stacktrace告诉我,单选按钮膨胀时出错。困难的是,这影响的用户数量非常少(7k中只有5-6个用户)。手机型号为:vivo 1724Xiaomi。我尝试在多个设备(大约10到12个设备;低端到高端型号)上运行我的应用程序,但是无法模拟崩溃。 这是崩溃日志:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{.HomeActivity}: android.view.InflateException: Binary XML file line #13: Binary XML file line #749: Error inflating class RadioButton
       at android.app.ActivityThread.performLaunchActivity + 2946(ActivityThread.java:2946)
       at android.app.ActivityThread.handleLaunchActivity + 3024(ActivityThread.java:3024)
       at android.app.ActivityThread.-wrap11(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage + 1725(ActivityThread.java:1725)
       at android.os.Handler.dispatchMessage + 106(Handler.java:106)
       at android.os.Looper.loop + 192(Looper.java:192)
       at android.app.ActivityThread.main + 6760(ActivityThread.java:6760)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 438(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main + 826(ZygoteInit.java:826)

我也有这个崩溃日志:

Caused by android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f080074
       at android.content.res.ResourcesImpl.getResourceName + 287(ResourcesImpl.java:287)
       at android.content.res.ResourcesImpl.loadDrawableForCookie + 884(ResourcesImpl.java:884)
       at android.content.res.ResourcesImpl.loadDrawable + 754(ResourcesImpl.java:754)
       at android.content.res.Resources.loadDrawable + 922(Resources.java:922)
       at android.content.res.TypedArray.getDrawableForDensity + 953(TypedArray.java:953)
       at android.content.res.TypedArray.getDrawable + 928(TypedArray.java:928)
       at android.widget.TextView.<init> + 1077(TextView.java:1077)
       at android.widget.Button.<init> + 166(Button.java:166)
       at android.widget.CompoundButton.<init> + 94(CompoundButton.java:94)
       at android.widget.RadioButton.<init> + 63(RadioButton.java:63)
       at android.widget.RadioButton.<init> + 59(RadioButton.java:59)
       at android.support.v7.widget.AppCompatRadioButton.<init> + 4(AppCompatRadioButton.java:4)
       at android.support.v7.widget.AppCompatRadioButton.<init> + 2(AppCompatRadioButton.java:2)
       at android.support.v7.app.AppCompatViewInflater.createRadioButton + 2(AppCompatViewInflater.java:2)
       at android.support.v7.app.AppCompatViewInflater.createView + 204(AppCompatViewInflater.java:204)
       at android.support.v7.app.AppCompatDelegateImpl.a + 140(AppCompatDelegateImpl.java:140)
       at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java)
       at android.view.LayoutInflater.createViewFromTag + 817(LayoutInflater.java:817)
       at android.view.LayoutInflater.createViewFromTag + 775(LayoutInflater.java:775)
       at android.view.LayoutInflater.rInflate + 908(LayoutInflater.java:908)
       at android.view.LayoutInflater.rInflateChildren + 869(LayoutInflater.java:869)
       at android.view.LayoutInflater.rInflate + 911(LayoutInflater.java:911)
       at android.view.LayoutInflater.rInflateChildren + 869(LayoutInflater.java:869)
       at android.view.LayoutInflater.rInflate + 911(LayoutInflater.java:911)
       at android.view.LayoutInflater.rInflateChildren + 869(LayoutInflater.java:869)
       at android.view.LayoutInflater.rInflate + 911(LayoutInflater.java:911)
       at android.view.LayoutInflater.rInflateChildren + 869(LayoutInflater.java:869)
       at android.view.LayoutInflater.parseInclude + 1040(LayoutInflater.java:1040)
       at android.view.LayoutInflater.rInflate + 904(LayoutInflater.java:904)
       at android.view.LayoutInflater.rInflateChildren + 869(LayoutInflater.java:869)
       at android.view.LayoutInflater.inflate + 521(LayoutInflater.java:521)
       at android.view.LayoutInflater.inflate + 429(LayoutInflater.java:429)
       at android.view.LayoutInflater.inflate + 380(LayoutInflater.java:380)
       at android.support.v7.app.AppCompatDelegateImpl.c + 23(AppCompatDelegateImpl.java:23)
       at android.support.v7.app.AppCompatActivity.setContentView + 4(AppCompatActivity.java:4)
       at org.makkhay.makkhayDic.Controller.HomeActivity.onCreate + 9(HomeActivity.java:9)
       at android.app.Activity.performCreate + 7115(Activity.java:7115)
       at android.app.Activity.performCreate + 7106(Activity.java:7106)
       at android.app.Instrumentation.callActivityOnCreate + 1220(Instrumentation.java:1220)
       at android.app.ActivityThread.performLaunchActivity + 2899(ActivityThread.java:2899)
       at android.app.ActivityThread.handleLaunchActivity + 3024(ActivityThread.java:3024)
       at android.app.ActivityThread.-wrap11(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage + 1725(ActivityThread.java:1725)
       at android.os.Handler.dispatchMessage + 106(Handler.java:106)
       at android.os.Looper.loop + 192(Looper.java:192)
       at android.app.ActivityThread.main + 6760(ActivityThread.java:6760)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 438(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main + 826(ZygoteInit.java:826)

无论如何,这是我的xml文件:

 <LinearLayout
            android:layout_width="0dp"
            android:layout_height="58dp"
            android:layout_weight="1"
            android:gravity="center_horizontal"
            android:orientation="vertical">

            <RadioGroup
                android:id="@+id/radioGroup1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:baselineAligned="false"
                android:gravity="center"
                android:orientation="horizontal">


                <RadioButton
                    android:id="@+id/my_collection_rb"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:button="@null"
                    android:checked="false"
                    android:drawableTop="@drawable/baseline_book_white_36dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:drawablePadding="2dp"
                    android:text="@string/collection"
                    android:textColor="@color/colorWhite"
                    android:textSize="12sp" />


                <RadioButton
                    android:id="@+id/game"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:button="@null"
                    android:checked="false"
                    android:drawableTop="@drawable/baseline_games_white_36dp"
                    android:gravity="center"
                    android:orientation="horizontal"
                    android:padding="8dp"
                    android:drawablePadding="2dp"
                    android:text="@string/game"
                    android:textColor="@color/colorWhite"
                    android:textSize="12sp" />

                <RadioButton
                    android:id="@+id/chatRB"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:button="@null"
                    android:checked="false"
                    android:drawableTop="@drawable/baseline_chat_white_36dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:drawablePadding="2dp"
                    android:text="@string/chat"
                    android:textColor="@color/colorWhite"
                    android:textSize="12sp"

                    />


                <RadioButton
                    android:id="@+id/scanCamera"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:button="@null"
                    android:checked="false"
                    android:drawableTop="@drawable/baseline_account_circle_white_36dp"
                    android:gravity="center"
                    android:padding="8dp"
                    android:drawablePadding="2dp"
                    android:text="@string/profile"
                    android:textColor="@color/colorWhite"
                    android:textSize="12sp" />



            </RadioGroup>

        </LinearLayout>

在我的onCreate内部,我有这段代码用于初始化和侦听器。

    radioGroup1 = (RadioGroup) findViewById(R.id.radioGroup1);
    chatButton = (RadioButton) findViewById(R.id.chatRB); 
    radioGroup1.setOnCheckedChangeListener((group, checkedId) -> {
        Intent in;
        switch (checkedId) {
            case R.id.game:
                gameButton.setChecked(false);
                break;
        }
     }

先谢谢了。 :)

1 个答案:

答案 0 :(得分:0)

我尝试了各种可能的调试方法,最后,我偶然发现了this帖子,并发现此问题是由于用户侧加载我的应用程序而发生的。为了缓解此问题,我遵循了google文档,以了解如何验证非Google Play应用的安装。如果您想签出,这里是link