java - 尝试以编程方式获取可绘制资源时出错
问题描述
我是android和java的新手。我正在尝试从我的 drawables 文件夹中获取图像,以便以编程方式显示在应用程序中。但是,getIdentifier()
始终是空对象引用。
当我运行这段代码时。
int imageResource = getResources().getIdentifier("image", "drawable", getPackageName()); //error here
System.out.println(imageResource); //doesn't get to this
整个应用程序崩溃,我收到此错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.mobiledevelopment.app, PID: 6663
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.mobiledevelopment.app/net.mobiledevelopment.app.Shop}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
我在任何函数之外声明这些变量。
任何帮助表示赞赏。谢谢!
解决方案
该代码现在有效。
我没有在 onCreate() 方法中调用 getResources() 。这显然很重要。
推荐阅读
- swiftui - 如何在 ScrollView 中执行视图的动画转换?
- pandas - DataFrame 的反向滚动平均值
- c# - 有没有办法在运行时更改字符串属性“包含”的值?
- c# - 为 where 子句投射指南时遇到问题
- php - 用 php 处理 MVC 模式中的请求
- ios - 使用 TabBarViewController 呈现 NavigationController 无法以编程方式选择索引
- excel - 如何在excel中将重复值转换为唯一值
- python - 打开多个excel文件,打开每个文件上的每张表,并保存图片
- nestjs - 多个@WebsocketGatways,每个连接多次调用生命周期钩子
- python - 为什么sql查找重复的速度比我快?