通过AppCompatButton崩溃的MaterialTimePicker无法强制转换为MaterialButton

问题描述

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

当我尝试显示新的物料时间选择器时:

MaterialTimePicker.newInstance().show(supportFragmentManager,"time")

我遇到此崩溃:

java.lang.classCastException: androidx.appcompat.widget.AppCompatButton cannot be cast to com.google.android.material.button.MaterialButton
        at com.google.android.material.timepicker.MaterialTimePicker.onCreateView(MaterialTimePicker.java:194)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2698)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320)
        at androidx.fragment.app.FragmentManager.movetoState(FragmentManager.java:1187)
        at androidx.fragment.app.FragmentManager.movetoState(FragmentManager.java:1356)
        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)
        at androidx.fragment.app.FragmentManager.movetoState(FragmentManager.java:1497)
        at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447)
        at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2169)
        at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1992)
        at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1947)
        at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
        at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

您的帮助将不胜感激。

解决方法

有一个1.3.0-alpha02和一个.Bridge主题的bug

1.3.0-alpha03 开始已修复。