首頁 >Java >java教程 >如何透過名稱而不是ID存取Android資源?

如何透過名稱而不是ID存取Android資源?

Linda Hamilton
Linda Hamilton原創
2024-12-27 12:54:16757瀏覽

How Can I Access Android Resources by Name Instead of ID?

在Android 中按名稱存取資源

開發Android 應用程式時,經常需要存取字串、可繪製物件和佈局等資源。雖然使用資源的整數 ID 很常見,但在某些情況下,最好透過名稱存取它。

透過名稱取得資源ID 的方法

Android框架提供了在給定資源的情況下擷取資源ID 的方法name:

int resourceId = this.getResources()
    .getIdentifier("nameOfResource", "type", this.getPackageName())

其中:

  • 這表示Activity 或Context 物件。
  • nameOfResource 是對應資源檔案中定義的資源名稱(例如,strings.xml 表示字串)。
  • type 是資源類型,例如用於映像的drawable 或用於字串的string text。
  • getPackageName() 擷取應用程式的套件名稱。

用法範例

存取名為「app_name」的字串資源" 在 strings.xml文件中:

int stringId = this.getResources()
    .getIdentifier("app_name", "string", this.getPackageName());
String appName = this.getString(stringId);

同樣,存取可繪製資料夾中名為「image.png」的可繪製資源:

int drawableId = this.getResources()
    .getIdentifier("image", "drawable", this.getPackageName());
Drawable drawable = this.getDrawable(drawableId);

效能注意事項

需要注意的是,使用getIdentifier() 按名稱存取資源與直接使用整數ID相比,速度相對較慢。

以上是如何透過名稱而不是ID存取Android資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn