【问题标题】:How to access drawable from non activity class如何从非活动类访问drawable
【发布时间】:2011-06-02 12:17:39
【问题描述】:

我处于必须使用我的应用程序的drawable folder 形成非活动类的情况。我尝试使用以下代码使用父活动:

ParentActivity pa = new ParentActivity();
Drawable d = pa.getResources()..getDrawable(R.drawable.icon);`

但这会给我一个NulLPointerException。 我怎样才能做到这一点?

【问题讨论】:

    标签: android drawable


    【解决方案1】:

    将上下文对象作为参数传递给非Activity类的构造函数。

    然后使用该上下文对象获取资源。

    例子

    public class MyClass {
      Context context;
      public MyClass(Context context) {
          this.context = context;
      }
    
      public void urMethod() {
        Drawable drawable=context.getResources().getDrawable(R.drawable.icon);
        // use this drawable as u need
      }
    }
    

    【讨论】:

    • 只是我还是“R”或(Java 中调用的任何资源)被导入到类中,所以这根本不是通用的?
    • 请注意,从 API 22 开始,获取可绘制对象的正确方法是:Drawable drawable = ContextCompat.getDrawable(context, R.drawable.icon)
    【解决方案2】:
    import com.(package-name).R;
    

    然后您可以访问所有可绘制对象,例如 R.drawable.icon。

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多