design: 'material' causes app to crash
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- android, javascript, react-native
- Ambito
- mobile
Direzione di ricerca
The report gives a reproducible call to DateTimePickerAndroid.open with design: 'material' and a crash trace naming MaterialDatePicker; it does not identify repository files or tests. Start by reading the Android implementation of the material design option and checking how the Expo config plugin sets the app theme. Done means the date picker opens in the reported Expo development build without the missing materialCalendarTheme crash.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug report
Summary
Setting the design property to material causes the app to crash upon opening the date picker.
Using Expo v53, datetimepicker v8.4.1
Included the @react-native-community/datetimepicker plugin both with no config and with some basic theming which works for the default picker. Running on an Expo development build.
Crash details:
java.lang.IllegalArgumentException: com.google.android.material.datepicker.MaterialDatePicker requires a value for the {bundle-identifier}:attr/materialCalendarTheme attribute to be set in your app theme. You can either set the attribute in your theme or update your theme to inherit from Theme.MaterialComponents (or a descendant).
com.google.android.material.resources.MaterialAttributes.resolveTypedValueOrThrow(MaterialAttributes.java:72)
com.google.android.material.resources.MaterialAttributes.resolveOrThrow(MaterialAttributes.java:89)
com.google.android.material.datepicker.SingleDateSelector.getDefaultThemeResId(SingleDateSelector.java:162)
com.google.android.material.datepicker.MaterialDatePicker.getThemeResId(MaterialDatePicker.java:266)
com.google.android.material.datepicker.MaterialDatePicker.onCreateDialog(MaterialDatePicker.java:272)
androidx.fragment.app.DialogFragment.prepareDialog(DialogFragment.java:930)
androidx.fragment.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:844)
androidx.fragment.app.Fragment.performGetLayoutInflater(Fragment.java:1755)
androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:527)
androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1943)
androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565)
android.os.Handler.handleCallback(Handler.java:995)
android.os.Handler.dispatchMessage(Handler.java:103)
android.os.Looper.loopOnce(Looper.java:248)
android.os.Looper.loop(Looper.java:338)
android.app.ActivityThread.main(ActivityThread.java:9067)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
Reproducible sample code
DateTimePickerAndroid.open({ value: dateToRender, onChange: handleDateChange, mode: 'date', design: 'material' });
Steps to reproduce
-
Create an Expo dev build with an app that's using the datepicker library
-
Set the datepicker to open programmatically, using
DateTimePickerAndroid.openand provide thedesign: 'material'option -
Launch the app and open the datepicker
-
npx react-native infooutput:info Fetching system and libraries information... System: OS: Windows 10 10.0.19045 CPU: "(16) x64 AMD Ryzen 7 5800X 8-Core Processor " Memory: 7.36 GB / 31.93 GB Binaries: Node: version: 24.1.0 path: C:\nvm4w\nodejs\node.EXE Yarn: Not Found npm: version: 11.3.0 path: C:\nvm4w\nodejs\npm.CMD Watchman: Not Found SDKs: Android SDK: Not Found Windows SDK: Not Found IDEs: Android Studio: Not Found Visual Studio: Not Found Languages: Java: Not Found Ruby: Not Found npmPackages: "@react-native-community/cli": installed: 18.0.0 wanted: latest react: installed: 19.0.0 wanted: 19.0.0 react-native: installed: 0.79.3 wanted: 0.79.3 react-native-windows: Not Found npmGlobalPackages: "*react-native*": Not Found Android: hermesEnabled: Not found newArchEnabled: Not found iOS: hermesEnabled: Not found newArchEnabled: Not foundTime zone name (If the problem you have is related to unexpected time / date. See list in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
- Lingua principale
- JavaScript
- Stelle
- 2.9k
- Fork
- 459
- Merge medio
- 4g 16h
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-native-datetimepicker/datetimepicker
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
react-native-datetimepicker/datetimepicker#1070 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
-
DateTimePickerAndroid.open() throws "Cannot read property" error on RN 0.78.3 new architectureAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
react-native-datetimepicker/datetimepicker#1047 · 6 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
react-native-datetimepicker/datetimepicker#1046 · 1 commento ·
Tutte le issue di react-native-datetimepicker/datetimepicker
Issue simili
-
Administration: required plugin configuration field stays invalid after restoring its saved valueApertaneeds-triage Platform(Default)
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
nearform/ag-grid-url-sync#314 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
chore
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
idean3885/claude-ops-agent#910 ·
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
oskarrough/agent-ide#29 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno