Класс FloatingActionButton не может быть создан

После ознакомления с новыми методами в Material Design я попытался реализовать плавающее действие в приложении. Тем не менее, я получаю эту ошибку в своем предварительном просмотре (Previewing Android version 21):

The following classes could not be instantiated:
- android.support.design.widget.FloatingActionButton
(First paragraph of error)
java.lang.NullPointerException
at android.support.v4.graphics.drawable.DrawableCompatLollipop.setTintList(DrawableCompatLollipop.java:56)
at android.support.v4.graphics.drawable.DrawableCompat$LollipopDrawableImpl.setTintList(DrawableCompat.java:145)
at android.support.v4.graphics.drawable.DrawableCompat.setTintList(DrawableCompat.java:270)
etc...

У кого-нибудь есть идея? Это мой build.gradle:

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
classpath 'com.android.tools.build:gradle:1.2.3'


defaultConfig {
    applicationId "owensetiawan.tutorials.fab"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
}

Было бы совершенно фантастично, если бы кто-то помог мне пролить свет на мою проблему.

Ответ 1

Привет, у меня такая же проблема с созданной библиотекой дизайна и она была решена этим

Шаг 1 > код для fab

    <android.support.design.widget.FloatingActionButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom"
      android:clickable="true"
      android:src="@drawable/search"
      app:backgroundTint="@color/color_fav"
      app:borderWidth="0dp"
      android:layout_alignParentBottom="true"
      android:layout_alignParentEnd="true"
      />

шаг 2 > зависимость

    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:recyclerview-v7:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile "com.android.support:support-v4:22.2.1"

шаг 3 > основной шаг для вышеуказанной проблемы

простой: - перейдите в свой xml и нажмите на предварительный просмотр, а на панели в режиме предварительного просмотра выберите AP1 21

Ответ 2

Убедитесь, что ВЕРСИЯ для Библиотеки AppCompat и Библиотека поддержки дизайна одна. Это в основном конфликт внутренней зависимости, поддерживающий обе версии, которые он исправил для меня: -

compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'

Ответ 4

У меня была подобная ошибка, просто измените манифест с:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="victor.com.ec.gastos_diarios">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".ActividadPrincipal">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

to

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="victor.com.ec.gastos_diarios">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity 
            android:name=".ActividadPrincipal"
            android:theme="@style/AppTheme.NoActionBar">>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>