Kesalahan menggembungkan fragmen kelas


161

Saya mendapatkan Kesalahan

Unable to start activity ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment

ketika saya beralih melalui potret dan mode lansekap. Saya menggunakan fragmen. Xml saya adalah:

 <LinearLayout android:id="@+id/mainLayout"
               android:orientation="horizontal"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" >

    <ListView android:id="@+id/android:list"
              android:layout_height="wrap_content"
              android:layout_width="fill_parent"/> 

    <fragment android:id="@+id/fragmentDetails"
              android:layout_height="fill_parent"
              android:layout_width="fill_parent"
              class="de.androidbuch.activiti.task.TaskDetailsFragment"/> 
</LinearLayout>

Jika saya beralih melalui mode landscape dan portrait semuanya bekerja dengan baik. Tetapi ketika saya mengklik fragmen saya (dan saya bisa melihat fragmen saya) dan kemudian beralih ke mode lain saya mendapatkan kesalahan. Ada yang tahu bagaimana saya bisa menyelesaikannya? Menemukan beberapa jawaban di sini tetapi tidak ada yang membantu saya ...

06-21 14:55:05.600: ERROR/AndroidRuntime(7636): FATAL EXCEPTION: main
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): java.lang.RuntimeException: Unable to start activity         
ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}:   android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3097)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.access$1600(ActivityThread.java:123)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Looper.loop(Looper.java:126)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.main(ActivityThread.java:3998)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invokeNative(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invoke(Method.java:491)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at dalvik.system.NativeStart.main(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:688)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Activity.setContentView(Activity.java:1771)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at de.androidbuch.activiti.task.TaskActivity.onCreate(TaskActivity.java:83)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     ... 12 more

Apakah Anda menyimpan file tata letak terpisah di tata letak dan folder tata letak-lahan?
Nathan Fig

Bisakah Anda memberikan log kesalahan lengkap, termasuk baris setelah "Tidak dapat memulai aktivitas ..."
Dave

@Nathan Fig: ya saya lakukan .. tetapi mendapatkan kesalahan ..
tsync

@Dave: ini dia .. ada ide?
tsync

Butuh kode tata letak lansekap, dan juga akan membantu panggilan Anda ke setContentView dan juga bagaimana Anda melepaskan aktivitas dalam mode potret karena saya menganggap Anda demikian. Saat ini sepertinya tidak ada cukup informasi. Melihat contoh FragmentLayout dalam demo API dapat membantu Anda karena sepertinya Anda melakukan hal yang serupa.
PJL

Jawaban:


131

Seperti yang dikatakan hdemirchian, pastikan untuk menggunakan:

import android.support.v4.app.Fragment;

Dan juga pastikan bahwa Aktivitas yang menggunakan fragmen meluas, FragmentActivitybukan yang biasa Activity,

import android.support.v4.app.FragmentActivity;

untuk mendapatkan FragmentActivitykelas.


12
Ini mendapat banyak suara, tetapi bagi saya itu crash ketika melanjutkan aplikasi, dan saya sudah menggunakan v4 Fragmen dan v4 FrsgmentActivity - untuk lebih tepatnya AppCompatActivity.
joseph

4
Ini bukan solusi. impor android.support.v4.app.Fragment; tidak mengubah apa pun. Sebenarnya itu bahkan impor yang tidak digunakan dan tidak dibutuhkan.
f470071

7
Terima kasih, catatan tambahannya adalah bahwa AppCompatActivity adalah keturunan dari FragmentActivity.
abedfar

tetapi saya menggunakan fragmen belati, dan fragmen belati selalu memperpanjang fragmen bukan aktivitas fragmen
user3475052

96

Pengecualian android.view.InflateException: Binary XML file line: #... Error inflating class fragmentmungkin terjadi jika Anda memanipulasi dengan getActivity()bagian dalam Anda sebelum onActivityCreated()dipanggil. Dalam kasus seperti itu, Anda menerima referensi aktivitas yang salah dan tidak dapat mengandalkan itu.

Misalnya pola berikutnya salah:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...); - another problem: button is null

    return view;
}

Pola yang benar # 1

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = view.findViewById(R.id...);
    button.setOnClickListener(...);

    return view;
}

Pola yang benar # 2

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...);
}

@ MaximKorobov Anda dapat menelepon ke getActivity()dalam onActivityCreated()atau dalam metode siklus hidup berikutnya, tetapi sebelumnya onDestroyView().
Grigori A.

Terima kasih banyak, ini sangat membantu!
Shotgun Ninja

Terima kasih :-) ini menghemat banyak waktu saya :)
user1007522

Saya ingin mengetahui lebih banyak tentang ini, saya mengalami kecelakaan sporadis dan saya pikir ini mungkin masalahnya. Meskipun sebagian besar waktu kode berfungsi dengan baik sehingga sulit untuk diketahui
Daniel Wilson

Pola 2 mungkin telah memecahkannya untukku. Semoga saja. Terima kasih untuk itu.
joseph


36

Saya memiliki kesalahan yang sama. Saya menggali sepanjang hari, tidak tahu tetapi saya pikir saya mencoba ~ 25 solusi untuk masalah ini. Tidak ada yang bekerja sampai jam 2 pagi saya menemukan bahwa saya kehilangan baris ini di aplikasi manifest xml:

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

Baris itu ada di dalam <application>tag. Saya benar-benar berharap ini membantu seseorang. GL.


3
Pahlawanku. Orang-orang seperti Anda membuat SANGAT hebat!
capdragon

5
Tolong jelaskan apa yang sedang terjadi. Apa manfaat garis ini?
Mansour Fahad

2
Terima kasih, selamatkan hari saya. Setiap sampel menggunakan peta Google di Android bekerja secara berbeda, saya bertanya-tanya apakah ada standar.
user2812866

22

Saya memiliki masalah yang sama. Solusi bagi saya adalah urutan super.onCreate dan setContentView dalam FragmentActivity

Pesanan berikut berfungsi dengan baik:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.fc_activity_list_profiles);

3
Mengapa ini memperbaikinya?
Spencer

1
Dalam metode JAVA, superharus selalu dipanggil di awal metode.
Stéphane Bruckert

11
@ StéphaneBruckert tidak selalu super.method()harus dipanggil dulu. Itu tergantung pada apa metode kelas super lakukan. Dalam kasus FragmentActivityitu diperlukan inisialisasi beberapa untuk membuat setContentViewbekerja dengan benar. Namun dalam metode lain (katakanlah onKeyUp) Anda mungkin ingin melakukan beberapa pekerjaan dengan tindakan, tapi mundur ke super.onKeyUpdalam kasus yang Anda mungkin ingin menelepon super.onKeyUpdi akhir fungsi.
CoatedMoose

Mungkin juga perlu dicatat bahwa super()(konstruktor superclass) harus menjadi fungsi pertama yang dipanggil dalam konstruktor kelas anak apa pun, namun menyebutnya tidak harus wajib (itu akan tergantung sepenuhnya pada kelas yang diperluas).
CoatedMoose

17

Fragmen tidak dapat disarangkan dalam XML

Pelajari ini dengan cara yang sulit - jika Anda membuat <fragment>tag berbasis tata letak XML di dalam fragmen (berpotensi) yang dimuat secara dinamis FragmentManager, maka Anda mulai mendapatkan kesalahan aneh, mencoba mengembang xml fragmen Anda.

Ternyata, ini tidak didukung - itu akan berfungsi dengan baik jika Anda melakukan ini melalui FragmentManagerpendekatan semata .

Saya mendapatkan masalah ini karena saya mencoba memuat sebuah fragmen di dalam <DrawerLayout>dari xml, dan ini menyebabkan crash pada onCreateView()metode ketika saya membuka tumpukan belakang.


Apakah ini masih belum didukung? Padaappcompat-v7:23.3.0
thanassis

ya saya fragmen bersarang di dalam xml. Saya akan memeriksanya.
KDeogharkar

Tetapi ada solusi / peretasan untuk masalah ini: stackoverflow.com/a/14695397/860488
Morten Holmgaard

2
Lihat catatan di akhir bagian ini untuk konfirmasi: developer.android.com/about/versions/…
Philippe

tidak yakin mengapa solusinya SO sederhana. bagi saya, hanya mengganti <fragment>dengan yang <frameLayout>berfungsi. Saya masih mencari tahu. - stackoverflow.com/a/19167009/5477548
yoad w

16

Saya mengalami masalah yang sama seperti yang Anda hadapi. Tidak ada tips di atas yang membantu saya. Kemudian, saya menemukan bahwa yang harus saya lakukan adalah memperbaiki impor dari:

import android.app.Fragment;

untuk:

import android.support.v4.app.Fragment;

Terima kasih, solusi ini juga bekerja untuk saya. Saya berjuang dengan masalah ini selama 2 hari. Akhirnya solusi Anda berhasil untuk saya. Terima kasih hdemirchian ..
Lakshmanan

Kamu Menakjubkan! Masalah saya berlawanan - wizard Fragment mengimpor android.support.v4.app.Fragment secara default. Dan aktivitas utama saya meluas android.app.Activity.
Industrial Control Freak

12

Sudahkah Anda mencoba:

 <fragment
            android:name="de.androidbuch.activiti.task.TaskDetailsFragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

1
Anda telah menunjukkan kepada kami 1 file xml, tetapi Anda harus memiliki 2 satu di / tata letak / dan satu di tata letak-tanah /
Blundell

12

Pastikan tidak ada pengecualian yang dimunculkan dalam metode onCreateView dari fragmen. Jika ada pengecualian yang dimunculkan dalam metode ini, logcat tidak akan menampilkan detail eksepsi yang tepat, melainkan selalu menampilkan pesan:

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.fragment" 
on path: DexPathList[[zip file "/data/app/com.package/base.apk"],
nativeLibraryDirectories=[/data/app/com.package/lib/arm64, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

Hanya untuk menambahkan apa yang dikatakan Lei, letakkan coba tangkap kode di dalam oncreateview Anda dan cari tahu penyebab sebenarnya. Lei terima kasih!
Swaroop

6

Jika Anda TaskDetailsFragmentmemperpanjang android.app.Fragment, lakukan perubahan onCreateView().

Kembalikan tampilan yang ingin Anda tampilkan di Fragmen atau konversikan Tata Letak Anda untuk dilihat dengan menggunakan LayoutInflater dan kembalikan.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View mainview = inflater.inflate(R.layout.main, null);
    return mainview;
}

Semoga ini berhasil. :)


6

Periksa path kelas Anda, ini bisa jadi tampilan inflator tidak dapat menemukan definisi kelas Anda sebagaimana didefinisikan dalam kelas xml Anda = "de.androidbuch.activiti.task.TaskDetailsFragment" jalur di atas bisa salah.


6

Saya menerima kesalahan ini karena berbagai alasan.

Langkah-langkah mereproduksi:

~> Masalah saya adalah saya membuat aplikasi kosong baru.

~> Saya kemudian membuat fragmen khusus dari File ~> Menu File Baru.

~> Dilanjutkan untuk menyesuaikan fragmen dengan menambahkan tata letak dan tombol dll.

~> Merujuk fragmen khusus baru di activity_my.xml yang dibuat secara otomatis yang dibuat untuk saya saat membuat aplikasi. Melakukan hal ini memungkinkan XML untuk menghasilkan objek untuk saya.

Heres adalah tangkapan ketika membuat fragmen khusus melalui File ~> Menu File Baru, ia secara otomatis menghasilkan fungsi fungsi rintisan dan menempatkannya di bagian bawah file kelas fragmen.

Ini berarti bahwa kelas MyActivity Anda harus mengimplementasikan antarmuka ini. Jika tidak maka kesalahan di atas hanya terjadi ketika mereferensikan fragmen dari xml. Dengan menghapus referensi untuk Fragmen di XML sepenuhnya, dan membuat fragmen melalui kode di file kelas MyActivity.java Logcat menghasilkan kesalahan yang lebih ringkas menjelaskan masalah secara rinci dan mengeluh tentang antarmuka. Ini ditunjukkan dalam Kegiatan Template Proyek + Fragmen. Meskipun, <~ Template Proyek itu tidak menghasilkan rintisan antarmuka.


5

Bagi saya itu setelah menggulir jejak stack saya menemukan saya kehilangan izin untuk android.permission.ACCESS_NETWORK_STATE

setelah menambahkan izin ini diperbaiki


1
Bukan untuk diri sendiri: "gulir seluruh jejak tumpukan. Terima kasih @Gil.
Batandwa

4

Jika Anda memiliki file tata letak terpisah untuk mode potret dan lansekap dan mendapatkan kesalahan inflasi setiap kali Anda mengubah orientasi setelah mengklik item, kemungkinan besar ada perbedaan antara file tata letak Anda.

Ketika Anda mendapatkan kesalahan, apakah itu hanya ketika Anda mengklik item dalam mode lansekap atau hanya dalam mode potret atau keduanya? Apakah aktivitas TaskDetailsFragment Anda menggunakan file tata letak yang dapat memiliki perbedaan antara mode landscape dan portrait?


Terima kasih atas jawaban Anda .. yah saya hanya memiliki fragmen dalam mode lansekap dan tidak dalam mode potret. Jadi saya bisa mengklik hanya dalam mode lansekap untuk melihat fragmen. Dan setelah saya beralih lagi ke mode lansekap saya mendapatkan kesalahan ini ...
tsync

Itu hampir pasti masalahnya kalau begitu - Anda memiliki pandangan dalam mode potret yang tidak dapat ditemukan dalam mode lansekap. Apakah menambahkan fragmen ke lanskap memperbaiki masalah?
Nathan Fig

1
Anda dapat memiliki tampilan yang tidak ada di kedua file - itulah inti dari memiliki tata letak -land dan -port terpisah. Namun, periksa id - Saya memiliki id yang hilang di file potret saya dan mendapatkan kesalahan ini saat beralih.
maxpolun

4

Jika Anda menambahkan Fragmentsecara statis yaitu, dalam xml, maka Anda mungkin telah gagal mengimplementasikannya OnFragmentInteractionListenerdi Activitykelas Anda . Maka implementasi antarmuka akan menyelesaikan masalah. Jika Anda menambahkan Fragmentsecara dinamis, yaitu di kelas java maka ini bukan solusinya. Karena IDE sendiri tidak akan memungkinkan Anda untuk melanjutkan tanpa mengimplementasikan antarmuka yang diperlukan.


3

Masalah saya dalam kasus ini adalah contoh sederhana memiliki pengecualian null pointer bodoh di salah satu metode saya yang kemudian dipanggil dalam siklus hidup. Ini menyebabkan pengecualian "Kesalahan menggembungkan fragmen kelas" bagi saya. Singkatnya, harap ingat untuk memeriksa lebih jauh ke bawah jejak tumpukan pengecualian untuk kemungkinan penyebabnya.

Setelah saya menyelesaikan pengecualian pointer nol, fragmen saya dimuat dengan baik.


3

Tidak ada solusi yang disebutkan di atas yang membantu saya. Dalam log saya bisa menemukan detail pengecualian seperti yang disebutkan di bawah ini:

06-19 16:20:37.885: E/AndroidRuntime(23973): Caused by: java.lang.RuntimeException: API key not found.  Check that /meta-data/ android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/ is in the application element of AndroidManifest.xml.

Saya melakukan ini dan kode saya berfungsi!

<meta-data  android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCl1yGPZ3mpxxxxxxxAz2R-t7zcWVzrHUL9k"/>
</application>

3

Jika Anda tidak ingin mengubah apa pun dan pergi dengan tag " fragmen "

melakukan hal ini,

<fragment
 android:visibility="gone" (Visibility will not work, just helps in removing frag from xml viewer)(If you want the visibility to be gone make it in your fragment root element visibility=gone)
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:name="com.example.YOUR_FRAGMENT" (This is important)
 />

2

Memiliki jenis kesalahan yang sama, di mana pesan kesalahan yang sama persis di logcat ditampilkan. Saya perlu membuat perubahan di Java Build Path yang terletak di bawah Project->Properties. Saya telah memasukkan perpustakaan terkait Google Maps seperti android-support-v4.jardan google-play-services.jar; Namun saya hilang termasuk ini di 'Build class path'dalam 'Order and Export'menu opsi. Mungkin kesalahannya ada di sini.

Coba sertakan perpustakaan ke jalur kelas build.

Urutan kelas-kelas yang dibangun mungkin juga memicu kesalahan, jadi saran saya adalah juga mencoba untuk mengatur ulang urutan jalur bangunan. Kesalahan menghilang ketika saya menggunakan urutan sebagai berikut: 'my_project_name/src'->'my_project_name/gen'->'Android Private Libraries'. Unit terakhir berisi file jar yang disebutkan sebelumnya.


1

Dalam file xml Anda, gunakan saja bukan tag. Inflater mencoba membuat android.app.Fragment yang akan gagal pada API <10. Jadi, Anda perlu membuat grup tampilan dari jenis yang berbeda.



1

pastikan kamu telah menggunakan yang ini

<meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyBEwmfL0GaZmdVqdTxxxxxxxx-rVgvY" />

bukan ini..

<meta-data 
         android:name="com.google.android.gms.version" 
          android:value="AIzaSyBEwmfL0GaZmdVqdTCvxxxxxxx-rVgvY" /> 

1

Baru saja mengalami kesalahan yang sama. Alasan saya adalah visibilitas kelas fragmen saya. Itu diatur ke default, harus publik.


1

Bisakah Anda memposting fragmen onCreatedan onCreateViewmetode? Saya memiliki pengecualian yang persis sama yang disebabkan oleh pengecualian dalam onCreatemetode fragmen , ketika saya memperbaiki masalah itu memperbaiki kesalahan menggembungkan fragmen kelas.


1

Saya menerima kesalahan ini di android studio masalahnya adalah bahwa fragmen saya memiliki tata letak relatif sementara kode pada fungsi OnCreateView adalah

mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);

apakah kode Anda melakukan hal yang sama?


1

Jika Anda ingin mewarisi AppCompatActivity , maka Anda dapat melakukan sesuatu seperti ini- Dalam aktivitas xml, gunakan FrameLayout seperti ini-

<FrameLayout
    android:id="@+id/result_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/progress_frame"/>

dan dalam aktivitas onCreate-

final FragmentManager supportFragmentManager = getSupportFragmentManager();
    FragmentTransaction ft = supportFragmentManager.beginTransaction();
    ft.replace(R.id.result_fragment, fphResultActivityFragment, "result fragment");
    ft.commitAllowingStateLoss();

Terima kasih, ini membantu. Tidak yakin mengapa saya berhasil menggunakan <fragment> dalam tata letak saya di aplikasi lain yang saya kerjakan, tetapi tidak berfungsi di sini!
SingularityFuture

Catat saja ini bisa bekerja tetapi ini biasanya untuk fragmen dinamis yang tidak statis
Tanner Summers

1

Saya mendapat kesalahan yang sama, tetapi masalah saya adalah bahwa fragmen saya tidak memiliki id di tata letak xml dari aktivitas induk.


1

Setelah satu hari berjuang saya menemukan beberapa pemeriksaan skenario mungkin Anda hadapi sama,

Jika semuanya berjalan sama dengan kode google maka silakan periksa file manifes dalam kasus saya saya menambahkan kunci geo dan kunci peta itu sebabnya terjadi pengecualian,

Catatan - jangan menambahkan dua kunci dalam file manifes menghapus kunci peta

meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key"/>

kode di atas dan tambahkan kode ini.

 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/auto_location"/>

 <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

1

Saya memiliki masalah yang sama; setelah menjalankan contoh AdMob , saya mencoba memasukkan Iklan di aplikasi saya, menyebabkan kesalahan ini:

01-02 16:48:51.269    8199-8199/it.dndc.BreathPlot E/AndroidRuntime FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
 Caused by: android.view.InflateException: Binary XML file line #57: Error inflating class fragment

Solusinya adalah: Anda tidak dapat memasukkan fragmen untuk Iklan ke dalam ListActivity. Sebagai gantinya, saya bisa menambahkannya ke FragmentActivity dan ke ActionBarActivity tanpa masalah.

Saran saya adalah: mulai dari contoh AdMob dan tambahkan ke dalamnya aplikasi Anda yang sudah ada: Saya akan menghemat banyak waktu !!!


1

Jika Anda menggunakan kebingungan dengan komponen Navigasi, Anda harus mengecualikan fragmen android dan argumen Anda. Tambahkan baris ini ke file aturan proguard Anda:

# Exclude the fragments and argType for navigation component.
-keep class * extends androidx.fragment.app.Fragment{}
-keep class com.safetonet.presentation.features.parent.adddevice.model.PresentableAddDeviceData
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.