Pengecualian dimunculkan selama rendering: Tidak dapat menemukan mode 0

91

Setelah pembaruan BuildToolske versi 25.0.0.

compileSdkVersion 25
buildToolsVersion "25"

Saya punya masalah dengan pratinjau tata letak android. Sekarang ini menunjukkan kesalahan:

Pengecualian dimunculkan selama rendering: Tidak dapat menemukan mode 0

masukkan deskripsi gambar di sini

Saya mencoba untuk membersihkan & membangun kembali proyek, tetapi tidak berhasil. Sebelum memperbarui semuanya baik-baik saja.

Saya tahu bahwa saya dapat kembali ke versi sebelumnya BuildTools, tetapi saya ingin tahu mengapa versi ini tidak berfungsi 25.0.0?


Sepertinya itu masalah RecyclerView

java.lang.IllegalStateException: Unable to locate mode 0
at android.view.DisplayInfo.findMode(DisplayInfo.java:458)
at android.view.DisplayInfo.getMode(DisplayInfo.java:445)
at android.view.Display.getRefreshRate(Display.java:648)
at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392)
at android.view.View.dispatchAttachedToWindow(View.java:15392)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
RediOne1
sumber
15
Sepertinya bug dengan 25.0.0. Saya telah membuka masalah untuk itu: code.google.com/p/android/issues/…
Jim Pekarek
2
Saya mendapatkan masalah yang sama dengan compileSdkVersion 24 / buildToolsVersion "24.0.2" - namun saya membiarkan Android Studio melakukan pembaruan (dari berbagai hal, pada dasarnya apa yang diminta untuk diperbarui) kemarin, dan saya yakin itu rusak setelah itu.
Steven Craft
1
@HenriquedeSousa Masalah yang muncul saat en.wikipedia.org/wiki/Andy_Rubin keluar dari #Google
IntelliJ Amiya

Jawaban:

111

Ini masalah telah diatasi, memperbarui dukungan perpustakaan untuk

compile 'com.android.support:recyclerview-v7:25.0.1'
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
Furqan
sumber
62

Ini adalah bug Mengganggu versi 25 .. Solusi sementara adalah menurunkan versi proyek Anda,

 compile 'com.android.support:appcompat-v7:24.2.1'
 compile 'com.android.support:design:24.2.1'
 compile 'com.android.support:recyclerview-v7:24.2.1'
XcodeNOOB
sumber
18

Solusi sementara lainnya adalah mengganti <android.support.v7.widget.RecyclerViewdengan <RecyclerViewsehingga Anda dapat melihat Tampilan yang diberikan. Saat menyusun, ubah kembali ke<android.support.v7.widget.RecyclerView

Hibbem
sumber
7

Pustaka Dukungan Android menyediakan fungsi utilitas yang kompatibel dengan versi sebelumnya. Aplikasi dapat menggunakan fungsi utilitas ini untuk memberikan pengalaman pengguna yang sesuai di berbagai versi sistem Android.

Ini adalah masalah bug dan harus diperbaiki di masa mendatang Rilis pustaka desain dukungan .

Anda harus menurunkan versi Anda untuk Solusi Sementara .

compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:v7:25.0.1' 
compile 'com.android.support:recyclerview-v7:25.0.1' 
IntelliJ Amiya
sumber
6

Untuk melihat pratinjau saya menggunakan trik ini ..... menambahkan app:layoutManager="0"recyclerView dalam XML layout

Tapi itu akan membuang InflateException pada saat dijalankan. Jadi HAPUS properti ini dari file layout XML sebelum menjalankan aplikasi!

Zohab Ali
sumber
4

Sebagai solusi sementara, Anda dapat membuat kelas anak tampilan pendaur ulang dan hanya mengganti onAttachedToWindow seperti di bawah ini. Kemudian gunakan kelas ini dalam tata letak XML Anda

@Override
protected void onAttachedToWindow() {
    if (!isInEditMode()) {
        super.onAttachedToWindow();
    }
}

Pembaruan: mulai dari pustaka dukungan 25.0.1, perbaikan sudah termasuk dalam pustaka dan masalah tidak ada lagi

Sameh Mikhail
sumber