2011-07-19 18 views
0

如何訪問我的項目「res/drawables」下的可繪製列表?進出口新的Android的我看到了這樣一個例子:Android:訪問Android中的本地資源列表

Field[] drawables = android.R.drawable.class.getFields(); 
for (Field f : drawables) { 
    try { 
     System.out.println("R.drawable." + f.getName()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

但這列出所有的默認可繪製,不是我想要的:(我想訪問這些文件,並有他們的名字生成一個XML,因爲我的佈局將是動態的(可繪製的數量可不不同時間)。

感謝您的幫助。

回答

1

替換

android.R.drawable.class.getFields();

your.application.package.R.drawable.class.getFields(); 

訪問您可繪製。

+0

感謝您的回覆:)我找到了解決這個問題的方法。我可以讀取資源名稱。那麼即時嘗試在setContentView到R.main之前生成onCreate()內的main.xml文件。它不工作,但即時通訊嘗試,因爲我有一個viewflipper與其中的多個圖像,我只能使用main.xml來做到這一點。是否有可能通過Java代碼在一個ViewFlipper中有多個圖像?< 謝謝 – dramaticlook

0

你可能想Context.getResources ...

Accessing Resources

+0

感謝您的回覆:)我找到了解決這個問題的方法。我可以讀取資源名稱。那麼即時嘗試在setContentView到R.main之前生成onCreate()內的main.xml文件。它不工作,但即時通訊嘗試,因爲我有一個viewflipper與其中的多個圖像,我只能使用main.xml來做到這一點。是否有可能通過Java代碼在一個ViewFlipper中有多個圖像?謝謝 – dramaticlook

+0

@dramaticlook沒問題:)檢查此線程,因爲它可能會提供您的問題的答案... [http://stackoverflow.com/questions/3934176/android-viewflipper-multiple-images](http: stackoverflow.com/questions/3934176/android-viewflipper-multiple-images) – rf43

0

一個建議是按照所有可繪製的命名約定。請在您的應用名稱「應用」前加上前綴。

for(Field f:drawables){ 
    if(f.getName().startsWith("app")){ 
     //Your drawable. 
    } 
} 
+0

Mojo的答案應該解決問題 – chedine