Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2014, 15:01
abrahamhs
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 10 meses
Puntos: 11
Pregunta ClassNotFoundException PathShape android

Buenas tardes a todos, estoy haciendo un ejercicio de un libro para aprender android y me he topado con el siguiente problema: Hice una vista personalizada para poder crear una figura con un ShapeDrawable basandome en un PathShape, pero incluso desde el editor grafico de layouts no se puede instanciar la vista debido a que aparece este error:

java.lang.ClassNotFoundException: android.graphics.drawable.shapes.PathShape
at com.android.ide.eclipse.adt.internal.resources.man ager.ProjectClassLoader.findClass(ProjectClassLoad er.java:109)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 47)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Cla ss.java:2398)
at java.lang.Class.getConstructor0(Class.java:2708)
at java.lang.Class.getConstructor(Class.java:1659)
at com.android.ide.eclipse.adt.internal.editors.layou t.ProjectCallback.instantiateClass(ProjectCallback .java:362)
at com.android.ide.eclipse.adt.internal.editors.layou t.ProjectCallback.loadView(ProjectCallback.java:18 9)
at android.view.BridgeInflater.loadCustomView(BridgeI nflater.java:207)



He buscado mucho en internet tratando de solucionarlo pero aunque encuentro temas similares no he podido solucionarlo, ya que las soluciones a los temas que he encontrado no han funcionado en mi caso, este es mi codigo:



public class VistaJuego extends View {


public VistaJuego(Context context, AttributeSet attrs) {
super(context, attrs);
Drawable drawableNave, drawableAsteroide, drawableMisil;
//drawableAsteroide=context.getResources().getDrawab le(R.drawable.asteroide1);
asteroides =new Vector<Grafico>();

Path pathAsteroide=new Path();
pathAsteroide.moveTo((float)0.3,(float)0.0);
pathAsteroide.moveTo((float)0.6,(float)0.0);
pathAsteroide.moveTo((float)0.6,(float)0.3);
pathAsteroide.moveTo((float)0.8,(float)0.2);
pathAsteroide.moveTo((float)1.0,(float)0.4);
pathAsteroide.moveTo((float)0.8,(float)0.6);
pathAsteroide.moveTo((float)0.9,(float)0.9);
pathAsteroide.moveTo((float)0.8,(float)1.0);
pathAsteroide.moveTo((float)0.4,(float)1.0);
pathAsteroide.moveTo((float)0.0,(float)0.6);
pathAsteroide.moveTo((float)0.0,(float)0.2);
pathAsteroide.moveTo((float)0.3,(float)0.0);
//pathAsteroide.close();
ShapeDrawable dAsteroide=new ShapeDrawable(new PathShape(pathAsteroide, 1, 1) );
dAsteroide.getPaint().setColor(Color.WHITE);
dAsteroide.getPaint().setStyle(Style.STROKE);
dAsteroide.setIntrinsicWidth(50);
dAsteroide.setIntrinsicHeight(50);
drawableAsteroide=dAsteroide;
setBackgroundColor(Color.BLACK);

for (int i = 0; i < numAsteroides; i++) {
Grafico asteroide=new Grafico(this, drawableAsteroide);
asteroide.setIncY(Math.random()*4-2);
asteroide.setIncX(Math.random()*4-2);
asteroide.setAngulo((int)(Math.random()*360));
asteroide.setRotacion((int)(Math.random()*8-4));
asteroides.add(asteroide);
}
}


espero alguien pueda ayudarme.

Saludos