[英]How to get raw resource file name by id?
我在 res/raw 中有 .ogg 文件,我已經實現了將文件保存到 sdcard 的功能,我想從原始文件設置文件名。
使用Resources.getResourceName(id)
獲取package:type/entryname
,或Resources.getResourceEntryName(id)
獲取條目名稱(文件名)。
如果您要從資源 ID 中查找名稱,則可以使用Resources.getResourceName() 。 您可以使用Context.getResources()
獲取 Resources 對象。
就我個人而言,我更願意在您的 strings.xml 中存儲一個字符串數組並將其映射到資源 ID,但這取決於您真正想要實現的目標。
這是一個非常古老的問題,但如果其他人試圖做同樣的事情,這可以用於獲取文件名:
Resources myResources = context.getResources();
String myFileName = myResources.getString((int)R.raw.myFile);
出於某種原因,即使R.raw.myFile
的類型為:“final int”並且Resources.getString()
采用參數“int id”,
如果您不將R.raw.myFile
為 int,Lint 將標記該行並顯示錯誤“預期的字符串類型資源”
盡管查看了文檔,但似乎沒有采用字符串參數的Resources.getString()
的重載版本。
我使用的是 Android Studio v3.6.3,支持最低 SDK 為 21。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.