java - 无法加载由 onCreate() 引起的下一个 Activity 应用程序崩溃

标签 java android android-studio

我的应用程序有一个链接到多个 Activity 的仪表板。除了链接到配置文件 Activity 的按钮外,所有其他按钮都运行良好。我一直在寻找解决方案近一周,但仍然是同样的问题。该应用程序只是在单击该按钮时崩溃。 以下是我的代码:

content_profiles_wards.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTransparentWhite"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="info.sahms.sahms.profiles_wards"
tools:showIn="@layout/activity_profiles_wards">


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

        <info.sahms.sahms.NonScrollListView
            android:id="@+id/listview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/_20sdp"
            android:layout_marginRight="@dimen/_20sdp"
            android:layout_marginTop="@dimen/_20sdp"
            android:clickable="true"
            android:background="@android:color/transparent"
            android:divider="@android:color/transparent"
            android:dividerHeight="@dimen/_10sdp">

        </info.sahms.sahms.NonScrollListView>

</ScrollView>


</android.support.v4.widget.NestedScrollView>

xml文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="info.sahms.sahms.profiles_wards">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:fitsSystemWindows="true"
    android:background="@color/colorPrimaryDark"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="@color/yellow"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:toolbarId="@+id/toolbar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_profiles_wards" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="bottom|end"
    android:background="@color/yellow"
    android:backgroundTint="@color/yellow"
    android:src="@drawable/ic_face_black_24dp"
     />

</android.support.design.widget.CoordinatorLayout>

这是android studio的错误

`E/AndroidRuntime: FATAL EXCEPTION: main
Process: info.sahms.sahms, PID: 8033
java.lang.RuntimeException: Unable to start activity ComponentInfo{info.sahms.sahms/info.sahms.sahms.profiles_wards}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.design.widget.FloatingActionButton
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477)
    at android.app.ActivityThread.-wrap11(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5452)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671)
 Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.support.design.widget.FloatingActionButton
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
    at info.sahms.sahms.profiles_wards.onCreate(profiles_wards.java:63)
    at android.app.Activity.performCreate(Activity.java:6305)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2370)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5452) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671) 
 Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.support.design.widget.FloatingActionButton
    at android.view.LayoutInflater.createView(LayoutInflater.java:645)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
    at info.sahms.sahms.profiles_wards.onCreate(profiles_wards.java:63) 
    at android.app.Activity.performCreate(Activity.java:6305) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2370) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5452) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671) 
 Caused by: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance(Native Method)
    at android.view.LayoutInflater.createView(LayoutInflater.java:619)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
    at info.sahms.sahms.profiles_wards.onCreate(profiles_wards.java:63) 
    at android.app.Activity.performCreate(Activity.java:6305) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2370) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1345) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5452) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671) 
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference
    at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:1724)
    at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1793)
    at android.graphics.drawable.RippleDrawable$RippleState.<init>(RippleDrawable.java:982)
    at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:973)
    at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:972)
    at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:1653)
    at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:959)
    at android.view.View.applyBackgroundTint(View.java:17432)
    at android.view.View.setBackgroundDrawable(View.java:17308)
    at android.support.design.widget.FloatingActionButton.access$001(FloatingActionButton.java:68)
    at android.support.design.widget.FloatingActionButton$ShadowDelegateImpl.setBackgroundDrawable(FloatingActionButton.java:824)
    at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:73)
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:179)
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:151)`

最佳答案

替换

android:backgroundTint="@color/yellow" 

app:backgroundTint="@color/yellow"

由于 android:backgroundTint 将无法在 API 版本 21 以下工作,因此您需要改用 app:backgroundTint

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    app:layout_anchor="@id/app_bar"
    app:layout_anchorGravity="bottom|end"
    android:background="@color/yellow"
    app:backgroundTint="@color/yellow"
    android:src="@drawable/ic_face_black_24dp"
     />

可能对你有帮助

关于java - 无法加载由 onCreate() 引起的下一个 Activity 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50604229/

相关文章:

java - JspWriter 写入与打印

java - Gradle 错误 Could not find com.actionbarsherlock :actionbarsherlock:4. 4.0 with Eclipse exported project in Android Studio

android - 在新的 Android Studio 3.1 上构建时出错

java - 在两个数字之间生成随机数

java - 连接 POJO 的所有非空属性

android - adb 不被识别为内部或外部命令、可运行程序或批处理文件

java - Android-TextView 设置十进制值不正确打印逗号

java - 使用 WindowManager 覆盖页脚

android - Google Play商店中0个受支持的设备

java - 遗传算法的线程池内存不足 - 为什么?