Pergunta

I have various layouts that use DatePicker, suddenly the layout editor stop to work showing a rendering error. If I Turn off the custom view rendering sandbox, the layout is rendered correctly; however is unclear the cause of this issue since I haven't changed anything, and before the error I needn’t have turn off rendering sandbox.

The full error stack:

Exception raised
during rendering
:
Write access
not allowed

at com(user.timezone)

  
at com
.android.ide.common.rendering.RenderSecurityException.create(RenderSecurityException.java:52)   
at java
.android.ide.common.rendering.RenderSecurityManager.checkPermission(RenderSecurityManager.java:616)   
at com
.util.TimeZone.setDefault(TimeZone.java:713)   
at libcore
.ibm.icu.util.TimeZone.setDefault(TimeZone.java:973)   
at libcore
.icu.DateIntervalFormat_Delegate.createDateIntervalFormat(DateIntervalFormat_Delegate.java:61)   
at libcore
.icu.DateIntervalFormat.createDateIntervalFormat(DateIntervalFormat.java:-1)   
at libcore
.icu.DateIntervalFormat.getFormatter(DateIntervalFormat.java:112)   
at libcore
.icu.DateIntervalFormat.formatDateRange(DateIntervalFormat.java:102)   
at android
.icu.DateIntervalFormat.formatDateRange(DateIntervalFormat.java:71)   
at android
.text.format.DateUtils.formatDateRange(DateUtils.java:826)   
at android
.text.format.DateUtils.formatDateRange(DateUtils.java:651)   
at android
.text.format.DateUtils.formatDateRange(DateUtils.java:628)   
at android
.widget.CalendarView.setMonthDisplayed(CalendarView.java:1258)   
at android
.widget.CalendarView.goTo(CalendarView.java:1131)   
at android
.widget.CalendarView.<init>(CalendarView.java:414)   
at java
.widget.CalendarView.<init>(CalendarView.java:333)   
at android
.lang.reflect.Constructor.newInstance(Constructor.java:408)   
at android
.view.LayoutInflater.createView(LayoutInflater.java:594)   
at android
.view.LayoutInflater.onCreateView(LayoutInflater.java:669)   
at android
.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.inflate(LayoutInflater.java:492)   
at android
.view.LayoutInflater.inflate(LayoutInflater.java:397)   
at android
.widget.DatePicker.<init>(DatePicker.java:175)   
at java
.widget.DatePicker.<init>(DatePicker.java:149)   
at android
.lang.reflect.Constructor.newInstance(Constructor.java:408)   
at android
.view.LayoutInflater.createView(LayoutInflater.java:594)   
at android
.view.LayoutInflater.onCreateView(LayoutInflater.java:669)   
at android
.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.rInflate_Original(LayoutInflater.java:758)   
at android
.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   
at android
.view.LayoutInflater.rInflate(LayoutInflater.java:727)   
at android
.view.LayoutInflater.inflate(LayoutInflater.java:492)   
Copy stack
during rend
.view.LayoutInflater.inflate(LayoutInflater.java:373)

to clipboardering(user.timezone)Turn off custom view rendering sandbox Write access not allowed during rendering
Foi útil?

Solução

This is a bug were Android Studio for some unknown reason isn't loading the temp files needed to draw the layout in "java.io.tmpdir", the issue is listed here: Android Issue:63279 The suggested fix is to update your SDK to the newest edition (if it's not already) and to also apply the latest Android Studio patch via "Help > Check For Updates".

Edit:

I found this to be helpful: Adroid Pickers UI Reference, after implementing the Date Picker as described here the error went away...

Outras dicas

I am not sure if it is useful for you or not, But I am using Intellij IDEA and I solved this issue by adding following line in idea.properties file.

android.render.sandbox=false

idea.properties is located in /bin/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top