无法扩展视图类中使用的共享preference [英] Unable to use shared preference within a class that extends View

查看:122
本文介绍了无法扩展视图类中使用的共享preference的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到一个错误,当我尝试从内部扩展类访问共享preference 查看

错误:的方法getShared preferences(字符串,INT)是未定义的类型ViewforRed

在这里ViewforRed是我的课

下面是示例code

 公共类ViewforRed扩展视图

 {

       公共最后弦乐preFS_NAME =图形;
       共享preferences设置= getShared preferences(preFS_NAME,0);


           公共ViewforRed(上下文的背景下)
             {
                超(上下文);

             }

         公共无效的OnDraw(帆布油画)
               {


                 涂料粉刷=新的油漆();

                 浮P0,P1,P2,P3,P4,P5,P6,P7,P8,P9;

   }

   }
 

解决方案

<一个href="http://developer.android.com/intl/fr/reference/android/content/Context.html#getShared$p$pferences">getShared$p$pferences()是上下文对象的一个​​方法。所以,你可以试试:

 公共类ViewforRed扩展视图

 {

       公共最后弦乐preFS_NAME =图形;
       共享preferences设置;


           公共ViewforRed(上下文的背景下)
             {
                设置= context.getShared preferences(preFS_NAME,0);
                超(上下文);

             }
 

I am getting an error , when I try to access the shared preference from within class that extends View.

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

where ViewforRed is my class

Here is the sample code

 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;

   }

   }

解决方案

getSharedPreferences() is a method of a Context object. So you can try:

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);

             }

这篇关于无法扩展视图类中使用的共享preference的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆