TL; DR , jika Anda mendapatkan error "paket R tidak ada", kemungkinan penyebabnya adalah
- beberapa kesalahan dalam file sumber daya XML
-> perbaiki kesalahan XML
- paket saat ini berbeda dari
Rpaket (lihat package
atribut di AndroidManifest.xml)
-> Rkelas impor , misalnya import com.example.android.R;
-> atau gunakan paket yang sesuai di sumber Anda, misalnya package com.example.android;
-> atau ubah atribut paket di AndroidManifest.xml ke
<manifest xmlns:android="..." package="com.example.android" ...>, jika sesuai
Rid yang digunakan berasal dari sumber daya sistem
-> jangan impor android.R, tetapi awali id yang melanggar dengan android., misalnya android.R.layout.simple_list_item_2
Anda dapat mengimpor android.Ralih-alih memberi awalan id tentunya, tetapi kemudian Anda tidak dapat mengimpor Rkelas aplikasi lagi dan harus memberi awalan id aplikasi, mis. com.example.android.R.id.main_menu.
The R kelas dihasilkan secara otomatis dari sumber aplikasi. Ini berisi ids untuk sumber daya ini dan terdapat dalam paket yang diberi nama dalam
<manifest>
tag di AndroidManifest.xmlfile yang sesuai .
Jika tidak ada kesalahan dalam file XML sumber daya, R.javasumber akan dibuat dalam subdirektori paket di bawah ini gen/dan dikompilasi.
Ada Rkelas lain yang terletak di dalam androidpaket. android.RKelas ini berisi beberapa kelas bersarang, yang pada gilirannya berisi ids dan nilai lain untuk sumber daya sistem .
Untuk menggunakan kelas di Java, Anda harus memberi nama kelas dengan seluruh paket, misalnya
java.util.List<Object> list = new java.util.ArrayList<Object>();
atau impor kelas dan kemudian gunakan tanpa paket
import java.util.List;
import java.util.ArrayList;
List<Object> list = new ArrayList<Object>();
Anda juga dapat menggunakan kelas tanpa menamai paket, jika kelas saat ini dan kelas yang digunakan berada dalam paket yang sama, mis.
package com.example.android;
public class A {
/* ... */
}
package com.example.android;
public class B {
public void useA() {
A a = new A();
}
}