Mencoba menggunakan RecyclerView baru dari pustaka dukungan. Saya mengunduh pembaruan 20 untuk pustaka dukungan menggunakan pengelola SDK.
Saya telah menambahkan file jar ke folder libs - dan menambahkan ke jalur build - tidak berhasil menggunakan RecyclerView.
Mencoba menggunakan juga ketergantungan gradle menurut Android Developer's API - tidak yakin apakah ini tempat yang tepat untuk melihat - halaman ini lebih terkait dengan AndroidTV:
com.android.support:recyclerview-v7:20.0.+
Tidak dapat menyinkronkan proyek secara bertahap.
Ada ide?
Menemukannya.
Anda harus menambahkan dependensi gradle berikut:
compile 'com.android.support:recyclerview-v7:+'
Masalah lain yang telah saya kompilasi adalah
compileSdkVersion
. Rupanya Anda harus mengkompilasinyaandroid-L
File build.gradle Anda akan terlihat seperti ini:
apply plugin: 'android' android { compileSdkVersion 'android-L' buildToolsVersion '19.1.0' [...] } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:recyclerview-v7:+' }
sumber
<uses-sdk />
deklarasi Anda di file AndroidManifest.xml dengan:<uses-sdk tools:node="replace" />
Ini bekerja untuk saya:
compile 'com.android.support:recyclerview-v7:21.0.0-rc1'
sumber
RecyclerView sekarang dapat ditambahkan dengan mengompilasi dependensi desain di app gradle:
dependencies { ... compile 'com.android.support:design:24.0.0' }
sumber
Jika Anda memiliki SDK Terkompilasi Versi 22.2.0, tambahkan dependensi di bawah ini untuk tampilan pendaur ulang dan tampilan kartu tambahan untuk dukungan cardView
// untuk menyertakan semua pustaka dalam direktori lib
compile fileTree(include: ['*.jar'], dir: 'libs')
// untuk dukungan appcompat
compile 'com.android.support:appcompat-v7:22.2.0'
// untuk menyertakan desain dukungan google (ini memungkinkan penerapan tema desain material dari 2.3 dan yang lebih tinggi)
`compile 'com.android.support:design:22.2. 0 '
Setelah itu klik pada Build-> membangun kembali proyek dan Anda selesai.
sumber
compile 'com.android.support:recyclerview-v7:24.2.1'
Ini berhasil untuk saya. Cobalah.
sumber
Langkah-langkah di depan saya hanya melewatkan satu langkah.
Setelah mengubah build.gradle (Module: app) dan menambahkan dependensi berikut:
(Tambahkan cardview jika perlu)
Anda kemudian harus pergi ke Build> Clean Project untuk menyingkirkan kesalahan apa pun
sumber
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.0' }
Buat saja dependensi Anda seperti di atas dalam file build.gradle, berfungsi untuk saya.
sumber
dalam kasus saya, saya memperbaikinya dengan menempatkan
compile 'com.android.support:recyclerview-v7:22.0.0'
sebagai ketergantungan ke dalam build gradle saya(dengan Android studio v. 1.2.1.1 dan semua SDK diperbarui.)
Sangat menjengkelkan ketika kode diperbarui begitu cepat dan IDE tidak dapat melacaknya, dan Anda harus memperbaikinya secara manual, membuang-buang waktu dan sumber daya.
Tapi yah, akhirnya berhasil.
sumber
sertakan ketergantungan di
build.gradle
, dan sinkronkan proyek dengangradle
filedependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:25.1.0' //include the revision no, i.e 25.1.1 implementation 'com.android.support:recyclerview-v7:25.1.1' }
Sertakan revisi (di sini 25.1.1) untuk menghindari build yang tidak dapat diprediksi, periksa revisi perpustakaan
sumber
implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:recyclerview-v7:28.0.0'
Di atas berfungsi untuk saya dalam
build.gradle
filesumber
Saya menggunakan peretasan kecil untuk menggunakan RecyclerView di perangkat lama. Saya baru saja masuk ke repositori m2 lokal saya dan mengambil file sumber RecyclerView dan memasukkannya ke dalam proyek saya.
Anda dapat menemukan kode sumber di sini:
sumber
Jawaban lain tidak berhasil untuk saya. Saya harus menambahkan baris ini:
sumber
-Pergi ke bagian DESIGN di activity_main.xml -Dalam palet drag drop pilih appCompactivity -Dalam appCompactivity Pilih RecyclerView -Pada Pilihan dialog akan muncul klik OK -Aplikasi proyek Anda: gradle akan secara otomatis diperbarui
sumber
Ketergantungan saya;
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:25.1.0' //RecyclerView dependency compile 'com.android.support:recyclerview-v7:25.1.0' // Instrumentation dependencies use androidTestCompile // (as opposed to testCompile for local unit tests run in the JVM) androidTestCompile 'junit:junit:4.12' androidTestCompile 'com.android.support:support-annotations:25.1.0' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test:rules:0.5' }
Saya menambahkan hanya kompilasi 'com.android.support:recyclerview-v7:25.1.0' . Yang penting adalah menambahkan dependensi RecycleView yang versinya sama dengan appcompat
sumber
Jika Anda menggunakan Versi terbaru atau 2018 untuk Android Studio ...
compile 'com.android.support:recyclerview-v7:+'
akan memberi Anda kesalahan dengan pesan berikut "Konfigurasi 'kompilasi' sudah usang dan telah diganti dengan 'implementasi' dan 'api'. Ini akan dihapus pada akhir 2018."
Coba gunakan ini
implementation 'com.android.support:recyclerview-v7:+'
sumber
Saya menggunakan yang satu ini bekerja untuk saya. Satu hal yang perlu diperhatikan adalah
appcompat
versi apa yang Anda gunakan. Saya menggunakanappcompat-v7:26.+
jadi ini bekerja untuk saya.implementation 'com.android.support:recyclerview-v7:26.+'
sumber
Cara terbaik untuk mengimpor RecyclerView ke dalam proyek Anda adalah RecyclerViewLib . Ini adalah pustaka sumber terbuka yang mengeluarkan RecyclerView untuk membuatnya aman dan mudah diimplementasikan. Anda dapat membaca postingan blog penulis di sini .
Tambahkan baris berikut sebagai dependensi gradle di kode Anda:
dependencies { compile 'com.twotoasters.RecyclerViewLib:library:1.0.+@aar' }
Info selengkapnya tentang cara memasukkan dependensi gradle:
Bosnia, Anda benar tentang hal itu yang menyebalkan. Gradle mungkin tampak rumit tetapi sangat kuat dan fleksibel. Semuanya dilakukan dalam groovy bahasa dan mempelajari sistem gradle mempelajari bahasa lain agar Anda dapat membangun aplikasi Android Anda. Sakitnya sekarang, tapi dalam jangka panjang Anda akan menyukainya.
Lihat build.gradle untuk aplikasi yang sama. https://github.com/twotoasters/RecyclerViewLib/blob/master/sample/build.gradle Di mana ia melakukan hal berikut adalah di mana ia membawa lib ke dalam modul (alias aplikasi sampel)
compile (project (':library')) { exclude group: 'com.android.support', module: 'support-v4' }
Perhatikan lokasi file ini. Ini bukan build.gradle tingkat atas
Karena sumber lib ada dalam proyek yang sama, ia dapat melakukannya dengan sederhana
':library'
. Theexclude
menceritakan lib untuk menggunakan dukungan v4 sampel aplikasi. Itu tidak perlu, tapi itu ide yang bagus. Anda tidak memiliki atau ingin memiliki sumber lib dalam proyek Anda, jadi Anda harus mengarahkan ke internet untuk itu. Dalam modul / app's build.gradle Anda, Anda akan meletakkan baris itu dari awal jawaban ini di lokasi yang sama. Atau, jika mengikuti contoh contoh, Anda dapat mengganti':library'
dengan' com.twotoasters.RecyclerViewLib:library:1.0.+@aar '
dan menggunakan pengecualian.sumber
Could not find any version that matches com.twotoasters.RecyclerViewLib:library:1.0.+
:: - /import android.support.v7.widget.RecyclerView;
Di Android Studio, mengimpor tidak seintuitif yang diharapkan. Coba impor bit ini dan lihat bagaimana itu membantu!
sumber
Jika masih ada yang mengalami masalah ini - Anda tidak perlu berubah
compileSdkVersion
, ini hanya akan mengalahkan seluruh tujuan pustaka dukungan.Sebagai gantinya, gunakan ini di
gradle.build
file Anda :compile 'com.android.support:cardview-v7:+' compile 'com.android.support:recyclerview-v7:+' compile 'com.android.support:palette-v7:+'`
sumber
Ini berhasil untuk saya
Tentukan izin internet
<uses-permission android:name="android.permission.INTERNET" >
Tambahkan ketergantungan
compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.retrofit2:retrofit:2.1.0' compile ('com.squareup.retrofit2:converter-simplexml:2.1.0'){ exclude group: 'stax', module: 'stax-api' exclude group: 'stax', module: 'stax' exclude group: 'xpp3', module: 'xpp3' }
Dalam Aktivitas Utama
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import java.util.List; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.simplexml.SimpleXmlConverterFactory; public class MainActivity extends AppCompatActivity { private BreakfastMenu breakfastMenu; List<BreakfastMenu> list; TextView responseText; APIInterface apiInterface; String name; String price; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); responseText=(TextView)findViewById(R.id.reponseText); apiInterface = APIClient.getClient().create(APIInterface.class); /** GET List Resources **/ Call<BreakfastMenu> call = apiInterface.getBreakfastMenu(); call.enqueue(new Callback<BreakfastMenu>() { @Override public void onResponse(Call<BreakfastMenu> call, Response<BreakfastMenu> response) { Log.d("TAG", response.code() + ""); String displayResponse = ""; BreakfastMenu resource = response.body(); System.out.println(displayResponse+"display response "); for (Food food : resource.getFoodList()) { name=food.getName(); price=food.getPrice(); System.out.println(name+price+"========================================="); displayResponse += food.getName() + " " + food.getPrice()+"\n"+"\n"; Toast.makeText(MainActivity.this,name+price,Toast.LENGTH_LONG).show(); } responseText.setText(displayResponse); } @Override public void onFailure(Call<BreakfastMenu> call, Throwable t) { call.cancel(); } }); } }
Buat kelas APIClient.java
import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; import retrofit2.converter.simplexml.SimpleXmlConverterFactory; class APIClient { private static Retrofit retrofit = null; static Retrofit getClient() { HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); retrofit = new Retrofit.Builder() .baseUrl("https://www.w3schools.com/") .addConverterFactory(SimpleXmlConverterFactory.create()) .build(); return retrofit; } } enter code here Make APIInterface.java import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.Query; interface APIInterface { @GET("xml/simple.xml") @Headers({"Accept: application/xml", "User-Agent: Retrofit-Sample-App"}) Call<BreakfastMenu> getBreakfastMenu(); } In BreakfastMenu.java import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; import java.util.List; @Root(name = "breakfast_menu") public class BreakfastMenu { @ElementList(inline = true) private List<Food> foodList; public BreakfastMenu() { } public List<Food> getFoodList() { return foodList; } public void setFoodList(List<Food> foodList) { this.foodList = foodList; } }
Buat Food.java
import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root(name = "food") public class Food { @Element(name = "name") private String name; @Element(name = "price") private String price; @Element(name = "description") private String description; @Element(name = "calories") private String calories; public Food() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getCalories() { return calories; } public void setCalories(String calories) { this.calories = calories; } }
Di activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/reponseText" android:layout_width="match_parent" android:layout_height="600dp" /> </Linear Layout>
sumber
Hanya pembaruan:
'compile' sekarang sudah usang; itu telah diganti dengan 'implementasi' dan 'api'. Itu akan dihapus pada akhir 2018 saya yakin. Untuk informasi lebih lanjut lihat: http://d.android.com/r/tools/update-dependency-configurations.html
Selain itu, semua pustaka com.android.support harus menggunakan spesifikasi versi yang sama persis; Selain itu, pustaka dukungan seperti appcompat-v7 dan recyclerview-v7 tidak boleh menggunakan versi yang berbeda dari compileSdkVersion.
sumber