PDA

Ver la Versión Completa : [ CONSULTA ] Ayuda! problema raro en vista personalizada


gonza28
30/10/14, 14:36:34
Hola!
Una ves mas!X-D

Hace unos dias que etoy teniendo problemas que nunca los habia visto.

A la hora de usar una libreria de tercero como algun codigo Typeface, me pasa un problema de renderizado en android studio. pero la verdad no se que problema es ya que no logro entender y seguramente a alguno le paso.

Ahora mismo estoy intentando trabajar con la libreria AndroidImageSlider

importo la libreria y todo correcto. el problema es que cuando aplico un elemento personalizado en el layout, me sale el mismo problema que ya vengo teniendo hace unos dias con las otras librerias.

Por ejemplo con unos codigo para implementar fontmanager, me ha salido muy bien, he lanzado la app al emulador y me funciono bien unas 2 o 3 veces. luego de repente en el panel grafico de eclipse o android studio me sale lo que veran en la imagen y ya no muestra los efectos de los codigos. La verdad es que me está rompindo la cabeza y me pone un poco triste esta cosa.

Hoy me pasa lo mismo con esta hora libreria de slider. ni un solo error, pero al aplicar un elemento personalizado d la libreria, pum, salta esa mierrrrrrr.

Uso version minima api 16 y commpilo en kitkat 19

Ayuda!!

http://i.imgur.com/NfbwMqw.png

esto es lo que sale en la ventana de editor. lo malo es que no marca errores en esas lineas, pero algo hay y no se solucionarlo.



The following classes could not be instantiated:
- com.daimajia.slider.library.SliderLayout (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse

java.lang.NullPointerException
at com.android.layoutlib.bridge.android.BridgeContext .obtainStyledAttributes(BridgeContext.java:588)
at android.view.View.<init>(View.java:3677)
at android.view.ViewGroup.<init>(ViewGroup.java:491)
at android.widget.RelativeLayout.<init>(RelativeLayout.java:248)
at android.widget.RelativeLayout.<init>(RelativeLayout.java:244)
at com.daimajia.slider.library.SliderLayout.<init>(SliderLayout.java:170)
at com.daimajia.slider.library.SliderLayout.<init>(SliderLayout.java:166)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0( at sun.reflect.NativeConstructorAccessorImpl.newInsta nce( at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance( at java.lang.reflect.Constructor.newInstance( at com.android.ide.eclipse.adt.internal.editors.layou t.ProjectCallback.instantiateClass(ProjectCallback .java:438)
at com.android.ide.eclipse.adt.internal.editors.layou t.ProjectCallback.loadView(ProjectCallback.java:19 0)
at android.view.BridgeInflater.loadCustomView(BridgeI nflater.java:207)
at android.view.BridgeInflater.createViewFromTag(Brid geInflater.java:132)
at android.view.LayoutInflater.rInflate_Original(Layo utInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(Layo utInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflate r.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater .java:504)
at android.view.LayoutInflater.inflate(LayoutInflater .java:385)

Guixe94
30/10/14, 14:38:30
As probado a cambiar la api del entorno grafico? En la img veo que tienes puesta la 21 si pones la 19 o 16 te sale igual?

gonza28
30/10/14, 15:02:56
As probado a cambiar la api del entorno grafico? En la img veo que tienes puesta la 21 si pones la 19 o 16 te sale igual?

Casualmente estaba queriendo probar algo de android L y lo puse e 21, pero siempre compilo las prueba en kitkat. antes, no me pasaba esto. en android studio tambien.

http://i.imgur.com/klmAhyh.png

Arasthel
30/10/14, 16:22:11
Esto pasa porque las librerías que comentas no están preparadas para funcionar en EditMode (el modo "preview"). Es decir, del código que ejecutan hay parte que necesita que funcione en un teléfono de verdad y al no ser así (no sé si por la ausencia de Context o por qué), pues efectivamente no puede crear el view para mostrarlo en el editor.

Soluciones:


Arreglar el código tú.
Pedir a los creadores que arreglen el código.
Usar el preview como una guía visual y probar de verdad en teléfono / genymotion.


Un saludo.

gonza28
30/10/14, 23:39:19
Esto pasa porque las librerías que comentas no están preparadas para funcionar en EditMode (el modo "preview"). Es decir, del código que ejecutan hay parte que necesita que funcione en un teléfono de verdad y al no ser así (no sé si por la ausencia de Context o por qué), pues efectivamente no puede crear el view para mostrarlo en el editor.

Soluciones:


Arreglar el código tú.
Pedir a los creadores que arreglen el código.
Usar el preview como una guía visual y probar de verdad en teléfono / genymotion.


Un saludo.
Por ahí viene la mano entonces?
He implementado mi viejo código de fontmanager con 10 fuentes para sacar las dudas. He puesto todos los proyectos a trabajar con el API 19.
Limpieza de cache del ordenador, parado el SDK desde el gestor de tareas de Windows, reinicio la máquina.

Vuelvo abrir eclipse. Pongo las fuentes y marca lo mismo. La diferencia es que ahora si funciona. En la preview del editor no se ve. Pero al emular si funciona. Gracias a dios[emoji29]

Muchas gracias a todo por tener siempre la voluntad de ayudar al prójimo.
Saludos