2010-07-28 2 views
5

Я получаю сообщение об ошибке, когда пытаюсь получить доступ к shared preference из класса, который расширяет View.Невозможно использовать общие предпочтения в классе, который extends View

Ошибка: "The method getSharedPreferences(String, int) is undefined for the type ViewforRed",

где ViewforRed мой класс

Вот пример кода

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; 

    } 

    } 

ответ

8

getSharedPreferences() является методом Context объекта. Таким образом, вы можете попробовать:

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

Как я могу позвонить/начать просмотр, как я называю это деятельность таким образом Намерение J = новый Intent (mContext, Airplane.class); startActivity (j); Моя деятельность это напр: ViewforRed расширяет Посмотреть { } –

+0

"ViewforRed расширяет View" не является деятельностью, это вид. Я думаю, что если вы хотите добавить представление, вы должны использовать addView() из действия. Или создайте экземпляр представления изнутри действия, и вы можете вызвать действие с намерением. – ccheneson

+0

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

Смежные вопросы