在项目中添加 Facebook 库时,android.support.design.widget.FloatingActionButton 停止工作

标签 android facebook facebook-graph-api xml-layout

我正在开发一个应用程序。我的 android studio 版本是 1.4。在我的应用程序中,我在设计时添加了 android.support.design.widget.FloatingActionButton 按钮。在我添加 facebook 库之前它工作正常。

当我添加 facebook 库时, float 按钮停止工作,它的 UI 将被更改,其他事情是当我尝试初始化时,它向我发送错误 NullPointerException。当我在我的项目中添加 facebook 库时,FlaotButton UI 发生了变化,它看起来像这样。

enter image description here

当我从 gradle 文件中删除 facebook 库时,它看起来像这样 enter image description here .

提前致谢,非常感谢您的帮助。

我的应用级build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.zennaxx.socialgf"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.facebook.android:facebook-android-sdk:4.+'
    compile 'com.squareup.picasso:picasso:2.5.2'
}

这是我的login_activity.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="com.zennaxx.socialgf.Login">

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

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/next"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@android:drawable/ic_dialog_email" />

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

这是我的login_layout.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/colorPrimary"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="@dimen/activity_horizontal_margin">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">

            <com.facebook.login.widget.LoginButton
                android:id="@+id/login_button"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="gone"/>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/imageView2"
                android:layout_below="@+id/userName"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginTop="41dp" />

            <TextView
                android:id="@+id/userName"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="New Text"
                android:textSize="25dp"
                android:layout_centerVertical="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:visibility="gone"/>

            <ImageButton
                android:id="@+id/imgFacebook"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:gravity="center"
                android:onClick="onClick"
                android:layout_marginRight="@dimen/right_side"
                android:background="@drawable/ic_facebook" />

            <ImageButton
                android:id="@+id/imgGoogle"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:gravity="center"
                android:background="@drawable/ic_google_plus" />

        </LinearLayout>

        <ImageView
            android:layout_width="@dimen/logo_w_h"
            android:layout_height="@dimen/logo_w_h"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="30dp"
            android:src="@mipmap/ic_launcher"
            android:visibility="gone"/>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:hint="@string/hint_email"
                android:inputType="textEmailAddress"
                android:textColor="@android:color/white"
                android:textColorHint="@android:color/white" />

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

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/password"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:hint="@string/hint_password"
                android:inputType="textPassword"
                android:textColor="@android:color/white"
                android:textColorHint="@android:color/white" />
        </android.support.design.widget.TextInputLayout>

        <!-- Login Button -->

        <Button
            android:id="@+id/btn_login"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:background="@color/colorAccent"
            android:text="@string/btn_login"
            android:textColor="@android:color/black" />

        <Button
            android:id="@+id/btn_reset_password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:background="@null"
            android:text="@string/btn_forgot_password"
            android:textAllCaps="false"
            android:textColor="@color/colorAccent" />

        <!-- Link to Login Screen -->
        <Button
            android:id="@+id/btn_signup"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:background="@null"
            android:text="@string/btn_link_to_register"
            android:textAllCaps="false"
            android:textColor="@color/white"
            android:textSize="15dp" />

        <ProgressBar
            android:id="@+id/progressBar"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="center|bottom"
            android:layout_marginBottom="20dp"
            android:visibility="gone" />


    </LinearLayout>
</LinearLayout>

这是我的错误日志

11-21 02:11:38.053 2309-2309/com.zennaxx.socialgf W/System.err: android.view.InflateException: Binary XML file line #148: Binary XML file line #148: Error inflating class android.support.design.widget.FloatingActionButton
11-21 02:11:38.053 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at com.zennaxx.socialgf.Login.onCreate(Login.java:76)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.Activity.performCreate(Activity.java:6237)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
11-21 02:11:38.054 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.ActivityThread.-wrap11(ActivityThread.java)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at android.os.Looper.loop(Looper.java:148)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5417)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err: Caused by: android.view.InflateException: Binary XML file line #148: Error inflating class android.support.design.widget.FloatingActionButton
11-21 02:11:38.055 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.createView(LayoutInflater.java:645)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err:     ... 17 more
11-21 02:11:38.056 2309-2309/com.zennaxx.socialgf W/System.err: Caused by: java.lang.reflect.InvocationTargetException
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err:     at java.lang.reflect.Constructor.newInstance(Native Method)
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err:     at android.view.LayoutInflater.createView(LayoutInflater.java:619)
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err:     ... 24 more
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err: Caused by: java.lang.NoSuchMethodError: No direct method <init>(Landroid/widget/ImageView;Landroid/support/v7/widget/AppCompatDrawableManager;)V in class Landroid/support/v7/widget/AppCompatImageHelper; or its super classes (declaration of 'android.support.v7.widget.AppCompatImageHelper' appears in /data/app/com.zennaxx.socialgf-1/base.apk)
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err:     at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:133)
11-21 02:11:38.057 2309-2309/com.zennaxx.socialgf W/System.err:     at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:110)
11-21 02:11:38.058 2309-2309/com.zennaxx.socialgf W/System.err:     ... 26 more
11-21 02:11:38.176 2309-2336/com.zennaxx.socialgf D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
11

最佳答案

我在谷歌上搜索,看到很多关于 FloatingActionButton 膨胀错误的问题。我搜索了 facebook sdk,然后知道 Facebook 库与我的 FloatActionButton 冲突,因为在我的项目中,Facebook SDK 库版本高于我的 appcompat v7。

我更新了这些,如下所示

1. Android SDK 构建工具。
2. Android SDK工具。
3. Android SDK 平台-工具。
4.Google Play 服务。
5. Google 存储库。

现在我的编译库与 facebook sdk 是这样的,它在我的项目中工作正常。

compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.facebook.android:facebook-android-sdk:4.+'

关于在项目中添加 Facebook 库时,android.support.design.widget.FloatingActionButton 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40714429/

相关文章:

android - 在 Ubuntu 上的 Netbeans 和 Eclips 中生成 R 文件时出错

facebook - 获取状态项的 html 页面链接

Facebook - 如何获取页面 ID?

android - 如果我在亚马逊、9apps 和 Getjar 等其他商店(而不是 Google Play 商店)上传应用程序,Admob 可以工作吗?

android - 将用户导航到列表项上的新屏幕单击 React native

java - 在 1 个应用程序内进行两次 Facebook 登录,都将我重定向到同一页面(每次成功登录后,两次登录都会强制将我带到主页 Activity )

php - 两个表中的数据在连接时复制

iphone - iOS 6 SDK SLRequest 返回 '400'

Facebook 的广告 API 异常 294 - 管理广告需要扩展权限 ads_management 和参与的 API key

Android 无法在构建中重命名 aar 文件