Android(安卓)get resource raw name
16lz
2021-01-26
In android instrument test, when we want to add a resource file raw name to log,
it's supposed to be:
Resources.getResourceEntryName(resourceId)
But which shows an error:
non-static method cannot be referenced from a static context
And it is indeed:
public String getResourceEntryName(int resid) throws Resources.NotFoundException { throw new RuntimeException("Stub!"); }
In fact we can do:
Context mContext = InstrumentationRegistry.getTargetContext();mContext.getResources().getResourceEntryName(resourceId)
You can't call something that doesn't exist. Since you haven't created an object, the non-static method doesn't exist yet. A static method (by definition) always exists.
The real problem is: getResourceEntryName()
method itself is not static, it's an instance-level method, so we have to make an instance of Resources first.
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer