Tolong beri tahu saya di mana kesalahan saya untuk mendapatkan kesalahan.
Saya membuat aplikasi yang salah satu aktivitasnya hanya dalam mode lanskap. Jadi saya menambahkan yang berikut ini di file AndroidManifest.xml
<activity android:name=".LandScapeImageActivity" android:screenOrientation="landscape"></activity>
Saya telah membuat folder seperti
/ res / layout-land
dan tambahkan tata letak yang disebut see_today_landscape_layout di dalamnya.
dan onCreate()
saya menambahkan yang berikut ini
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.see_today_landscape_layout);
....
}
Tetapi ketika saya menjalankan aplikasi saya, saya mendapatkan kesalahan berikut
02-06 13:46:14.358: E/AndroidRuntime(13286): FATAL EXCEPTION: main
02-06 13:46:14.358: E/AndroidRuntime(13286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mid.kew.activities/com.mid.kew.activities.LandScapeImageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4066)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.access$2400(ActivityThread.java:135)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Looper.loop(Looper.java:144)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.main(ActivityThread.java:4937)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invokeNative(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invoke(Method.java:521)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-06 13:46:14.358: E/AndroidRuntime(13286): at dalvik.system.NativeStart.main(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getValue(Resources.java:892)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getLayout(Resources.java:731)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Activity.setContentView(Activity.java:1654)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.mid.kew.activities.LandScapeImageActivity.onCreate(LandScapeImageActivity.java:103)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
02-06 13:46:14.358: E/AndroidRuntime(13286): ... 12 more
Saya telah mencentang di R.java dan memiliki sumber daya dengan ID 7f03002b yang dicari pengecualian dan ada di sana ...
Saya membersihkan dan membangun kembali proyek untuk katakanlah 5 kali, tetapi masalah tetap terjadi.
Hal yang aneh adalah bahwa ini berfungsi kemarin dan tidak berfungsi hari ini. Kodenya sama.
see_today_landscape_layout.xml
file.compile 'com.android.support:appcompat-v7:23.4.0'
jika saya tinggal denganv7:22.2.0'
kerjanyaJawaban:
jika sudah terjadi lagi hapus file r.java tersebut. itu akan menghasilkan secara otomatis.
sumber
Untuk kondisi saya, penyebabnya adalah mengambil
int
parameterTextView
. Mari saya tunjukkan sebuah contohint i = 5; myTextView.setText(i);
mendapatkan info kesalahan di atas.
Ini bisa diperbaiki dengan mengubahnya
int
menjadiString
seperti inimyTextView.setText(String.valueOf(i));
Saat Anda menulis
int
, ia mengharapkan sumber daya bukan teks yang Anda tulis. Jadi berhati-hatilah saat menyetelint
sebagaiString
di Android.sumber
Karena Anda menyetel tata letak secara eksplisit, Anda mungkin ingin mencoba dan meletakkannya di folder default / layout bukan di / layout-land karena itu jika Anda ingin Android secara otomatis menangani rotasi untuk Anda.
sumber
Coba pindahkan layout xml Anda dari
res/layout-land
keres/layout
foldersumber
res/layout-sw600dp
hinggares/layout
kemudian berhasil .. Terima kasih atasHal ini dapat terjadi karena bahasa yang berbeda di ponsel yang asetnya tidak dimiliki kode Anda. Misalnya preference.xml Anda ditempatkan di xml-en dan Anda mencoba menjalankan aplikasi di ponsel yang dipilih dalam bahasa Prancis, aplikasi akan macet.
sumber
Saya mendapat kesalahan ini dari alasan lain:
Saya memiliki file
res/xml/data.xml
dan saya mencoba memuatnya denganResources
kelas seperti ini:Resources.getSystem().getXml(R.xml.data);
Namun ini tidak benar karena metode ini
Resources.getSystem()
mengembalikan objek Sumber Daya bersama global yang menyediakan akses ke sumber daya sistem saja.Cara yang benar adalah sebagai berikut (dari dalam Activity):
this.getResources().getXml(R.xml.data);
sumber
Dalam kasus saya, versi Alat Bangun saya di build.gradle saya untuk modul aplikasi sudah usang pada proyek lama. Memperbarui itu memperbaiki masalah:
android { ... buildToolsVersion "19.0.1" ...
Diperbarui ke versi alat build terbaru (25.0.1) dan menyinkronkan proyek dan semuanya baik-baik saja.
sumber
Periksa untuk memastikan bahwa impor Anda sudah benar. Saya memiliki masalah serupa saat
R
menunjuk keR
file sistem Android , bukan yang lokal saya.sumber
Saya menghapus folder
build
di dalam proyek. Setelah dibersihkan dan dibangun kembali di Android Studio. Kemudian memperbaiki error di build.gradle dan AndroidManifest.sumber
Ini juga dapat menyebabkan beberapa masalah: Secara tidak sengaja salah satu tata letak saya diparkir di folder sumber daya tablet, jadi saya mendapatkan kesalahan ini hanya dengan tata letak telepon. Tata letak telepon tidak memiliki file tata letak yang sesuai.
Saya bekerja lagi setelah memindahkan file tata letak di folder standar yang benar dan membangun kembali proyek berikut.
sumber
Pastikan huruf R yang Anda tunjuk sudah benar. Saya memiliki masalah yang sangat mirip dengan ini, di mana impor dimasukkan oleh Eclipse yang menunjuk ke file System R daripada yang proyek. Butuh banyak garukan kepala. Semoga ini membantu.
sumber
Anda memiliki orientasi layar yang disetel ke lanskap di xml Anda. Jika Anda telah menggunakan eclipse untuk menghasilkan file ini, itu akan dibuat di res / layout-land / folder. Tetapi ketika Anda membuka aktivitas dalam mode Portrait, aplikasi akan mencari xml di res / layout-port / folder atau res / layout / biasa . Jika Anda tidak memiliki xml untuk mode potret, aplikasi Anda akan macet.
sumber
Saya telah memperbaikinya dengan cara ini:
Buat folder di nama direktori sumber daya Anda
"drawable-nodpi"
dan kemudian pindahkan milik Anda semua sumber daya dalam direktori ini dari direktori drawable lainnya.Sekarang bersihkan proyek Anda dan kemudian buat kembali. Jalankan lagi semoga akan berhasil kali ini tanpa sumber daya apa pun kecuali yang ditemukan.
sumber
Saya mendapat kesalahan ini saat mencoba mengakses data Bundle dari One Intent dengan menggunakan getInt ("ID").
Saya menyelesaikannya dengan menggunakan getString ("ID").
Dari Aktivitas1 yang saya miliki
Intent intent=new Intent(this,ActivityB.class); intent.putExtra("data",data)// startActivity(intent);
Pada Aktivitas B,
Bundle bundle=getIntent().getExtras(); if(extras!=null){ // int x=extras.getInt("Data"); This Line gave me error int x=Integer.parseInt(extras.getString("Data")); // This solved the problem. }
sumber
Bagi saya pembatalan cache dan restart tidak berhasil. Saya menghapus folder .idea dan .gradle. Jika Anda melakukan itu, jangan lupa bahwa hal-hal seperti membangun log atau sesuatu mungkin hilang.
sumber