簡體   English   中英

在FragmentScenario測試中誇大類com.google.android.material.tabs.TabLayout時出錯

[英]Error inflating class com.google.android.material.tabs.TabLayout inside FragmentScenario test

我使用FragmentScenario編寫了一個測試:

@Test
    fun test() {
        launchFragmentInContainer<MyFragment>(Bundle().apply { putParcelableArray(MY_DATA, getMyData()) })
        // checks here
    }

我得到以下錯誤:

Error inflating class com.google.android.material.tabs.TabLayout

而且,只有在我啟動測試(該應用程序可以正常運行)時,我才會收到錯誤,我嘗試將androidTestImplementation "com.google.android.material:material:1.0.0"到androidTestImplementation,但這沒有幫助

我該如何解決?

活動FragmentScenario啟動的默認主題的父主題為android:Theme.WithActionBar不是TabLayout所需的MaterialComponents主題。

您應該輸入要使用的主題。

例如,假設您的應用具有這樣聲明的主題:

<style name="AppTheme" parent="Theme.MaterialComponents">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

您將使用:

launchFragmentInContainer<MyFragment>(
    Bundle().apply { putParcelableArray(MY_DATA, getMyData()) },
    R.style.AppTheme)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM