The method getResources() is undefined for the type

本文介绍了如何在非Activity类中正确使用getResources()方法来加载资源,通过传递Context对象解决该问题。

在非activity的独立类(public class drawThreeD implements Renderer)中调用getResources()时Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.dg);此为调用的语句会出现The method getResources() is undefined for the type

这是因为 getResources() 其实是contex中传递过去的,在非activity类中没有找到可以传递的cavas

解决:将activity类中contex传递过去就好了

1.在activity类中

  在创建非activity类时构造函数中添加参数:drawThreeD myRender = new drawThreeD(this.getApplicationContext());

2.在非activity类中 

  2.1 创建全局变量,用于保存传递过来的context

          private Context context;

  2.2构造函数中添加参数,并将传递过来的参数赋给全局变量

  public drawThreeD(Context context)
{
this.context=context;
}

   2.3调用

   Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.dg); //这里的context其实是全局变量

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值