Android SnackBar: Fehler, der SnackbarLayout aufbläst

Wollte ich versuchen, die neue Snackbar aus den offiziellen design-Bibliothek von Google. Die Bedienung ist sehr nah an ein Toast, so dass ich dachte, es wäre einfach genug, um zu versuchen out.

Habe ich versucht, es auf einem emulator laufen 5.1 als auch als Samsung Galaxy S6 Edge laufen 5.0.

Mein problem ist, dass die app stürzt ab, wenn es soll zur Anzeige der Snackbar.

Code

package com.jayway.andreas.test;

import android.app.Activity;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.view.View;


public class MainActivity extends Activity {

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

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar.make(v, R.string.test, Snackbar.LENGTH_LONG)
                        .setAction("Action!", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                //NOP
                            }
                        })
                        .show();
            }
        });
    }
}

Layout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/root_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Button"/>
</RelativeLayout>

Gradle-Datei

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc1"

    defaultConfig {
        applicationId "com.jayway.andreas.test"
        minSdkVersion 21
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

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

Habe ich versucht, über die Ihnen verschiedene Ansichten(root RelativeLayout, Aussicht auf die Schaltfläche und das Fenster Dekor-Ansicht) als der erste parameter, aber egal welche ich habe, vorausgesetzt ich bekomme immer noch die folgenden stacktrace:

android.view.InflateException: Binary XML file line #18: Error inflating class android.support.design.widget.Snackbar$SnackbarLayout
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createView(LayoutInflater.java:640)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
E/AndroidRuntime(19107):    at android.support.design.widget.Snackbar.<init>(Snackbar.java:119)
E/AndroidRuntime(19107):    at android.support.design.widget.Snackbar.make(Snackbar.java:140)
E/AndroidRuntime(19107):    at android.support.design.widget.Snackbar.make(Snackbar.java:164)
E/AndroidRuntime(19107):    at com.jayway.andreas.test.MainActivitykr8.51onClick(MainActivity.java:20)
E/AndroidRuntime(19107):    at android.view.View.performClick(View.java:5217)
E/AndroidRuntime(19107):    at android.view.View$PerformClick.run(View.java:20983)
E/AndroidRuntime(19107):    at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime(19107):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(19107):    at android.os.Looper.loop(Looper.java:145)
E/AndroidRuntime(19107):    at android.app.ActivityThread.main(ActivityThread.java:6141)
E/AndroidRuntime(19107):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(19107):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(19107):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
E/AndroidRuntime(19107):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
E/AndroidRuntime(19107): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(19107):    at java.lang.reflect.Constructor.newInstance(Native Method)
E/AndroidRuntime(19107):    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createView(LayoutInflater.java:614)
E/AndroidRuntime(19107):    ... 17 more
E/AndroidRuntime(19107): Caused by: android.view.InflateException: Binary XML file line #34: Error inflating class <unknown>
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createView(LayoutInflater.java:640)
E/AndroidRuntime(19107):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:689)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:748)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:480)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
E/AndroidRuntime(19107):    at android.support.design.widget.Snackbar$SnackbarLayout.<init>(Snackbar.java:526)
E/AndroidRuntime(19107):    ... 20 more
E/AndroidRuntime(19107): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(19107):    at java.lang.reflect.Constructor.newInstance(Native Method)
E/AndroidRuntime(19107):    at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
E/AndroidRuntime(19107):    at android.view.LayoutInflater.createView(LayoutInflater.java:614)
E/AndroidRuntime(19107):    ... 28 more
E/AndroidRuntime(19107): Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 13
E/AndroidRuntime(19107):    at android.content.res.TypedArray.getDrawable(TypedArray.java:760)
E/AndroidRuntime(19107):    at android.view.View.<init>(View.java:3990)
E/AndroidRuntime(19107):    at android.widget.TextView.<init>(TextView.java:1021)
E/AndroidRuntime(19107):    at android.widget.TextView.<init>(TextView.java:1016)
E/AndroidRuntime(19107):    at android.widget.TextView.<init>(TextView.java:1012)
E/AndroidRuntime(19107):    ... 31 more

InformationsquelleAutor der Frage Andreas N | 2015-06-03

Schreibe einen Kommentar