design: 'material' causes app to crash
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- android, javascript, react-native
- Domínio
- mobile
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- JavaScript
- Estrelas
- 2.9k
- Forks
- 459
- Merge médio
- 4d 16h
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de react-native-datetimepicker/datetimepicker
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
react-native-datetimepicker/datetimepicker#1070 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
-
DateTimePickerAndroid.open() throws "Cannot read property" error on RN 0.78.3 new architectureAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
react-native-datetimepicker/datetimepicker#1047 · 6 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
react-native-datetimepicker/datetimepicker#1046 · 1 comentário ·
Todas as issues de react-native-datetimepicker/datetimepicker
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
ImranR98/apps.obtainium.imranr.dev#2000 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
routing: the tray panel's stage stands still with motion reduced while a request is in flightAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
microsoft/monaco-editor#5577 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
obsidianmd/obsidian-help#1169 ·
Mantenedores costumam responder em até 2 dias
-
[docs] RELEASE.md: wrong branch name, no check that the prepare PR merged with the right subject, manual publish stepTalvez já em andamento @albertteoh assumiu hoje. Abertadocumentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
jaegertracing/jaeger-ui#4739 ·
Mantenedores costumam responder em até 1 dia