簡體   English   中英

如何通過id獲取原始資源文件名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM