【问题标题】:Binary XML file line #17 in com.bookreader.android:layout/activity_launcher: Error inflating class TextViewcom.bookreader.android:layout/activity_launcher 中的二进制 XML 文件第 17 行:错误膨胀类 TextView
【发布时间】:2023-01-28 21:37:44
【问题描述】:

这是我的应用程序的起始页,一切看起来都很好,但是一旦我运行该应用程序,它就会关闭。

致命例外:主要 进程:com.bookreader.android,PID:9970 java.lang.RuntimeException:无法启动活动 ComponentInfo {com.bookreader.android/com.bookreader.android.LauncherActivity}:android.view.InflateException:com.bookreader.android:layout/activity_launcher 中的二进制 XML 文件第 17 行: com.bookreader.android:layout/activity_launcher 中的二进制 XML 文件第 17 行:扩展类 TextView 时出错 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3676) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3813)

Android Studio 中的布局预览显示正确 我的 activity_launcher.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    android:orientation="vertical">


    <ImageView
        android:id="@+id/app_logo"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_centerInParent="true"
        android:layout_gravity="center_horizontal"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/app_logo"
        android:gravity="center"
        android:text="@string/app_name"
        android:textColor="@color/colorPrimary"
        android:textSize="22dp" />

    <TextView
        android:id="@+id/version"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:padding="10dp"
        android:text="V1.0"
        android:textColor="#cc000000" />

</RelativeLayout>

我的 LauncherActivity.java 公共类 LauncherActivity 扩展 BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launcher);

        TextView version = findViewById(R.id.version);
        version.setText("V" + BuildConfig.VERSION_NAME);
    }
}

使用的主题:

<!-- Base application theme. -->
<style name="Theme.App" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <!-- Primary brand color. -->
    <item name="colorPrimary">@color/color_primary</item>
    <item name="colorPrimaryVariant">@color/color_primary_variant</item>
    <item name="colorOnPrimary">@color/white</item>
    <!-- Secondary brand color. -->
    <item name="colorSecondary">@color/color_secondary</item>
    <item name="colorSecondaryVariant">@color/color_secondary_variant</item>
    <item name="colorOnSecondary">@color/black</item>
    <!-- Status bar color. -->
    <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
    <item name="android:navigationBarColor">@color/white</item>
    <item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">true</item>
</style>

**- 谁能理解为什么会发生错误?

  • 我换了主题但问题没有解决,从布局中移除TextView解决了问题!但是为什么?
  • TextView类有问题吗?
  • 修复它的解决方案是什么?
  • 如果可以请帮忙**

【问题讨论】:

    标签: android layout textview


    【解决方案1】:

    检查您为此文本视图提供的资源属性是否有效。如果为文本提供的字符串资源或为 textColor 提供的颜色资源无效,则可能会出现此问题。

    我尝试使用您的代码,它对我来说效果很好。当我故意用无效资源(例如可绘制资源)替换 textcolor 属性值时,我收到了同样的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 2017-05-28
      相关资源
      最近更新 更多