This is the start page of my app and everything looks fine, but as soon as i run the app it closes.
FATAL EXCEPTION: main Process: com.bookreader.android, PID: 9970 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bookreader.android/com.bookreader.android.LauncherActivity}: android.view.InflateException: Binary XML file line #17 in com.bookreader.android:layout/activity_launcher: Binary XML file line #17 in com.bookreader.android:layout/activity_launcher: Error inflating class TextView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3676) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3813)
Layout preview in Android Studio
is displayed correctly
My 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>
My LauncherActivity.java
public class LauncherActivity extends 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);
}
}
Theme used:
<!-- 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>
@string/app_name
or @color/colorPrimary
the problem is one of these two.
This error usually occurs when one of the resources used for the attributes
is invalid.
You have used @color/color_primary
in your theme, but you have used @color/colorPrimary
in layout!, the value of @color/colorPrimary
may be defined by another library and the value for color is invalid! Or it isn't correct to use it there.
Therefore, in the event of this type of problem, be sure to go back to the used sources and check their validity, you have given an incorrect value to attributes
.