Como importar RecyclerView para Android L -preview

? micyunu @ | Original: StackOverFlow
---

Tentando usar o novo RecyclerView a partir da biblioteca de apoio. Eu baixei o update 20 para a biblioteca de suporte usando o gerenciador de SDK.

Eu adicionei o arquivo jar para a pasta libs - e acrescentou construir caminho - sem sorte usando o RecyclerView .

Tentei usar também a dependência gradle acordo com http://developer.android.com/preview/tv/start/index.html - não tenho certeza se este é o lugar certo para procurar - desta página está mais relacionada com AndroidTV :

 com.android.support:recyclerview-v7:20.0.+

Não é possível gradle sync o projeto.

Any ideas?

---

Top 5 Responder

1Andras K @

Isso funciona para mim :

compile 'com.android.support:recyclerview-v7:21.0.0-rc1'
2micyunu @

Figured it out.

Você vai ter que adicionar o seguinte dependência gradle :

compile 'com.android.support:recyclerview-v7:+'

Outra questão que eu tinha era a compilação compileSdkVersion . Aparentemente, você vai ter que compilá-lo contra o android-L

Seu arquivo build.gradle deve ser algo como isto:

apply plugin: 'android'
android {
    compileSdkVersion 'android-L'
    buildToolsVersion '19.1.0'
    [...]
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:recyclerview-v7:+'
}
3rekire @

Eu usei um pequeno truque para usar o RecyclerView em dispositivos mais antigos . Eu só fui para o meu repositório m2 local e pegou os arquivos de origem RecyclerView e colocá-los em meu projeto.

Você pode encontrar o código fonte aqui:

< Android - SDK & gt; extrasandroidm2repositorycomandroidsupport ecyclerview - v721.0.0 - RC1 ecyclerview - v7-21.0.0 - RC1 - sources.jar

4bkurzius @

Caso esta seja útil para outras pessoas, há um grande post sobre recyclerview aqui: http://antonioleiva.com/recyclerview/ Eu, então, bifurcada sua repo e modificou -lo para que ele irá compilar para dispositivos pré- L ( graças a este Reddit: http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ ) . Você pode obtê-lo aqui : https://github.com/bkurzius/RecyclerViewExtensions

5MinceMan @

Uma ótima maneira de importar o RecyclerView em seu projeto é o https://github.com/twotoasters/RecyclerViewLib . Esta é uma biblioteca de código aberto, que tirou o RecyclerView para torná-lo seguro e fácil implementar. Você pode ler post http://toastdroid.com/2014/09/03/unlocking-recyclerview/ do autor.

Adicione a seguinte linha como uma dependência gradle em seu código :

dependencies {
    compile 'com.twotoasters.RecyclerViewLib:library:1.0.+@aar'
}

Mais informações sobre como trazer dependências gradle :

Bósnia você está certo sobre isso ser chato. Gradle pode parecer complicado, mas é extremamente poderoso e flexível. Tudo é feito na linguagem Groovy e aprender o sistema gradle está aprendendo outra língua só assim você pode construir o seu app Android . Dói agora, mas no longo prazo você vai adorar.

Confira a build.gradle para o mesmo app . https://github.com/twotoasters/RecyclerViewLib/blob/master/sample/build.gradle Onde ele faz o seguinte é onde ele traz a lib para o módulo (aka o aplicativo de amostra)

compile (project (':library')) {
    exclude group: 'com.android.support', module: 'support-v4' 
}

Preste atenção para a localização deste arquivo. Este não é o top build.gradle nível

Como a fonte lib está no mesmo projeto que é capaz de fazer isso com o simples ':library' . O exclude conta a lib de utilizar o apoio v4 do aplicativo de exemplo . Isso não é necessário, mas é uma boa idéia . Você não tem ou quer ter a fonte do lib em seu projeto, então você tem que apontar para a internet para isso. Em seu módulo de / app de build.gradle você iria colocar essa linha desde o início desta resposta no mesmo local . Ou, se seguindo o exemplo amostras, você poderia substituir ':library' com ' com.twotoasters.RecyclerViewLib:library:1.0.+@aar ' e usar os exclui .