2015-09-28 17 views
32

La mia applicazione ha funzionato bene fino a quando non ho provato ad aggiungere una libreria. Dopo ho aggiunto la biblioteca, Android Studio mi dà il seguente errore:Nessun identificatore risorsa trovato per l'attributo 'layout_behavior' nel pacchetto

Error:(26) No resource identifier found for attribute 'layout_behavior' in package 'inf..'

Questo è il mio file build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.ogaclejapan.smarttablayout:utils-v4:[email protected]' 
    compile 'com.ogaclejapan.smarttablayout:library:[email protected]' 
    compile 'com.jpardogo.materialtabstrip:library:1.1.0' 
    // compile 'com.lorentzos.swipecards:library:[email protected]' 
    compile 'com.android.support:cardview-v7:21.0.3' 
    compile 'com.android.support:recyclerview-v7:21.0.3' 
    compile 'com.melnykov:floatingactionbutton:1.3.0' 
    compile project(':swipelib') 
} 

Questa è l'xml che causa l'errore:

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

ho provato quanto segue:

  • Remov ed è la libreria
  • Ripristina Android Studio e il mio computer
  • Ripristinato alla versione precedente del mio codice da git.

Tuttavia, l'errore persiste. Come posso risolvere questo?

risposta

93

quella stringa viene da questa biblioteca:

compile 'com.android.support:design:23.0.1' 

Dal momento che non si sta usando il CoordinatorLayout dalla libreria Material Design Support, si dovrebbe essere in grado di rimuovere in modo sicuro l'attributo app:layout_behavior. Probabilmente è stata tagliata la pasta & da un altro codice.

NOTA: Se si sta effettivamente utilizzando CoordinatorLayout e desidera che i comportamenti cooperativi scorrimento a lavorare, è necessario aggiungere la dipendenza per l'ultima versione della libreria Materiale Supporto alla progettazione al file Gradle costruire (come mostrato sopra).

+0

Assicurarsi di utilizzare la versione più recente della libreria di progettazione. Per ottenere l'ultima versione, controllare la pagina ufficiale della libreria di progettazione. https://developer.android.com/training/material/design-library.html#AddDependency A partire da questo commento l'ultima versione è '' 'compile 'com.android.support:design:25.3.1'' '' – Fatih

+0

thx hai salvato la mia giornata @krisLarson –

16

Nota: le versioni sono state modificate, quindi sostituire le versioni successive con quelle più recenti.

La risposta accettata si libera dell'errore nel caso layout_behavior non è necessario, se si vuole realmente utilizzare:

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

Assicurarsi di aggiungere la giusta dipendenza al file build.gradle del modulo :

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "21.1.2" 

    //Other stuff.... 
} 

dependencies { 

    //Importing the design library fixes the build 
    compile 'com.android.support:design:23.1.0' 

    //Other libraries.... 
} 

Ie aggiungere questa riga per le dipendenze:

compile 'com.android.support:design:23.1.0' 
+2

ma come diavolo sapresti che 'com.android.support: design: 23.1.0' è la soluzione per un'app rotta: layout_behavior =" @ string/appbar_scrolling_view_behavior "' – dsdsdsdsd

+0

@ dsdsdsdsd Ho appena provato, dato che a un certo punto avevo lo stesso problema – AgentKnopf

+0

la mia libreria ha già questa dipendenza mostra ancora lo stesso errore. Quando aggiungo la libreria di progettazione alla dipendenza gradle del progetto app, questo scompare. Perché devo aggiungerlo al progetto di app quando è già presente nella libreria? qualche soluzione? – Asu

24

Solo nel caso qualcun altro arriva da Google e fa lo stesso errore che ho fatto, è layout_behaviOr, non layout_behavioUr.

+0

fml. bella cattura :) – chyupa

+1

wow. mi hai preso – Chris

+0

Forse dovrei lavorare una fase speelling nella mia build di Gradle ... –

0

Aggiungi compilare com.android.support:design:23.0.1 nelle dipendenze build.gradle.

1

Ho questo problema. e ho risolto il mio problema con i passi di rimorchio. 1- Scaricare l'ultima versione del pacchetto AndroidSupportLibrary e il pacchetto AndroidSupportRepository (o aggiornarli alla versione più recente) in SDKTools di Android sdk manager. 2- Cambia supporto per la creazione delle dipendenze.fiel Gradle a

compile 'com.android.support:appcompat-v7:25.+' 
compile 'com.android.support:support-v4:25.+' 
compile 'com.android.support:recyclerview-v7:25.+' 
compile 'com.android.support:design:25.+' 
-2

compilazione 'com.android.support:design:23.0.1'

questa soluzione per me

0

AgentKnopf Answer "Assicurarsi di aggiungere la giusta dipendenze alla compilazione. file gradle del tuo modulo ", quindi aggiungo, ti assicuri anche che il modulo sia uguale alla tua versione attuale come questa: compile 'com.android.support:design: 25.3.1.0 se non stai usando' compile ' com.android.support:design**:23.1.0** '

Problemi correlati