Android:如何按资源ID检索文件名和资源扩展名

Gen*_*nry 5 java android

我有以下内容:

getResources().getResourceEntryName(resourceId);
Run Code Online (Sandbox Code Playgroud)

问题是,它只检索没有扩展名的文件名.

例如,如果我有以下res/drawable/pic.jpg,那么

getResources().getResourceEntryName(resourceId);
Run Code Online (Sandbox Code Playgroud)

正在返回值"pic".扩展名.jpg缺失.

小智 12

要获得"res/drawable/pic.jpg",你可以使用这个:

    TypedValue value = new TypedValue();
    getResources().getValue(resourceId, value, true);
    // check value.string if not null - it is not null for drawables...

    Log.d(TAG, "Resource filename:" + value.string.toString());
    // ^^ This would print res/drawable/pic.jpg
Run Code Online (Sandbox Code Playgroud)

来源:android/frameworks/base/core/java/android/content/res/Resources.java