2016-12-23 2 views
0

Я получаю эту ошибку в моем файле XML:Ошибка при наполнении Плавающие кнопки действий в Android

java.lang.NoSuchMethodError: android.support.v7.widget.AppCompatImageHelper.<init>(Landroid/widget/ImageView;Landroid/support/v7/widget/AppCompatDrawableManager;)V 
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:133) 
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:110) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:465) 
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:172) 
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105) 
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:186) 
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:334) 
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:345) 
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:245) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) 
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$70(RenderTask.java:659) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Мой XML Файл:

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="@dimen/fab_margin" 
    android:src="@android:drawable/ic_input_add" 
    /> 

Gradle Файл:

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

Стили:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

МАНИФЕСТ декларация:

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" /> 

Пожалуйста, помогите для вышеуказанной ошибки. Ошибка, указанная выше, при рендеринге предварительного просмотра файла xml. При запуске приложения приложение останавливается и выдает ошибку, как Ошибка при наполнении класса android.support.design.widget.FloatingActionButton

+0

f вы используете приложение для использования VectorDrawableCompat: srcCompat = "@ drawable/x" instroid android: src –

ответ

0

com.android.support:appcompat-v7:21+ добавлена ​​поддержка для колеровки виджетов на устройствах запуск pre android 5.1 (API Level 21). Чтобы использовать его, убедитесь, что вы расширяете или устанавливаете тему AppCompat и используете приложение: backgroundTint вместо android: backgroundTint.

<android.support.design.widget.FloatingActionButton 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/fab" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_margin="16dp" 
android:src="@drawable/icon" 
app:backgroundTint="@color/accent" 
app:borderWidth="0dp" /> 

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

+0

Можете ли вы сказать мне, что не так с моим кодом. Я не хочу использовать 'backgroundTint' –

+0

@VaibhavJain не делает это работает или нет –

+0

Нет Это не @Ramesh –

Смежные вопросы