【问题标题】:Android load image into variable to be used thoughtout appAndroid将图像加载到变量中以使用经过深思熟虑的应用程序
【发布时间】:2016-11-16 15:01:16
【问题描述】:

我正在使用 Android Developer Studio v2.2.2,但无法弄清楚如何将图像加载到可在整个应用程序中使用的变量中。我一直在尝试 ImageView 没有成功。

以下是抛出 java.lang.NullPointerException

// At top of the class declaration
private ImageView image1;

// then in the onCreate method
image1.setImageResource(R.drawable.myImage);

myImage 是 res/drawable 文件夹中的 .png 图像。

myImage 存在并已在其他地方使用。

我已经尝试使用 Drawable 进行此操作并获得相同的结果,但无论如何也不推荐使用 getDrawable。

任何帮助将不胜感激,谢谢...

【问题讨论】:

  • “如何将图像加载到可在整个应用程序中使用的变量中”——不清楚您在这里获得了什么。 “我一直在尝试 ImageView,但没有成功”——ImageView 与它的 Activity 相关联。除非您的应用只有一个Activity,否则您不能在“整个应用”中使用ImageView。 “以下是抛出 java.lang.NullPointerException”——请编辑您的问题并提供完整的 Java 堆栈跟踪。

标签: android image android-studio imageview drawable


【解决方案1】:

使用BitmapFactory.decodeResource() 将图像加载到Bitmap

【讨论】:

  • 感谢 Egor,做到了。文档没有明确说明这会取代已弃用的 getDrawable。如果可以,我会给你一票。
  • 好吧,这并不能取代getDrawable(),这两种方法有不同的返回值,因此它们做的事情不同。已弃用的getDrawable() 的替换是ContextCompat.getDrawable()
【解决方案2】:
public class BuddyAppAlert extends Application {

private object obj;
public class BuddyAppAlert extends MultiDexApplication {
  obj=new Object();
}

创建上面提到的类,这会给你一个存在于应用程序级别的对象“obj”,然后你可以使用这个对象的getter和setter来修改或检索它在你的应用程序的任何地方,直到应用程序在内存中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多