2010-07-28 9 views
5

Recibo un error cuando intento acceder al shared preference desde dentro de la clase que se extiende a View.No se puede usar la preferencia compartida dentro de una clase que se extiende View

El error: "The method getSharedPreferences(String, int) is undefined for the type ViewforRed",

donde ViewforRed es mi clase

Aquí es el código de ejemplo

public class ViewforRed extends View 

{ 

     public final String PREFS_NAME = "GRAPHICS"; 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 


      public ViewforRed(Context context) 
      { 
       super(context); 

      } 

     public void onDraw(Canvas canvas) 
       { 


       Paint paint = new Paint(); 

       float p0,p1,p2,p3,p4,p5,p6,p7,p8,p9; 

    } 

    } 

Respuesta

8

getSharedPreferences() es un método de un objeto Context. Lo que puede probar:

public class ViewforRed extends View 

{ 

     public final String PREFS_NAME = "GRAPHICS"; 
     SharedPreferences settings; 


      public ViewforRed(Context context) 
      { 
       settings = context.getSharedPreferences(PREFS_NAME, 0); 
       super(context); 

      } 
+0

¿Cómo puedo llamar/iniciar una vista, al igual que yo llamo una actividad de esta manera j = Intención nueva Intención (mContext, Airplane.class); startActivity (j); Mi actividad es este para excepto: ViewforRed extiende Ver {} –

+0

"ViewforRed extiende Vista" no es una actividad, que es una vista. Creo que si quieres agregar una vista, tienes que usar addView() de una actividad. O ejemplifique la vista desde dentro de una actividad y puede llamar a la actividad con un intento. – ccheneson

+0

http://stackoverflow.com/questions/3365384/embed-dynamic-view-in-main-xml –

Cuestiones relacionadas