2010-07-28 18 views
14

मैं एक सरणी है कि मेरे छवियों में से कुछ संभालती कैसे कर सकते हैं ताकि इस ?: तरहएंड्रॉइड: मैं एक ड्रायरेबल सरणी कैसे बना सकता हूं?

ImageView.setImageResource(image[1]); 

मुझे आशा है कि मैं अच्छी तरह से समझाया मैं इसका इस्तेमाल कर सकते हैं ...

+1

इस [एंड्रॉयड भंडारण R.drawable पर एक नज़र । एक्सएमएल सरणी में आईडी] [1], यह array.xml में टाइप की गई सरणी का उपयोग कर रहा है। [1]: http://stackoverflow.com/questions/6945678/android-storing-r-drawable-ids-in-xml-array – hayi

+0

@HaYi धन्यवाद तुम बहुत भयानक है। –

उत्तर

50

कि ऐसा करने के लिए, आप डॉन ' टी ड्रायरेबल की एक सरणी चाहते हैं, केवल संसाधन पहचानकर्ताओं की एक सरणी है, क्योंकि 'setImageResource' उन पहचानकर्ताओं को लेता है। कैसे इस बारे में:

int[] myImageList = new int[]{R.drawable.thingOne, R.drawable.thingTwo}; 
// later... 
myImageView.setImageResource(myImageList[i]); 

या एक आकार बदलने योग्य संस्करण के लिए:

ArrayList<Integer> myImageList = new ArrayList<>(); 
myImageList.add(R.drawable.thingOne); 
// later... 
myImageView.setImageResource(myImageList.get(i)); 
+0

बहुत बहुत धन्यवाद! =) – JoeyCK

+0

धन्यवाद शिक्षक :) – TheOnlyAnil

+0

आप एक int [] में छवियों को जोड़ने को कैसे प्राप्त करेंगे, लेकिन क्या यह सभी फ़ाइलों के माध्यम से खोज करेगा और जोड़ने के लिए प्रत्येक फ़ाइल को स्पष्ट रूप से नाम देने के बजाय जोड़ें? –

9

सब आप निम्नलिखित विधि के साथ अपने चित्रों के सभी drawable आईडी प्राप्त करने के लिए सबसे पहले:

int android.content.res.Resources.getIdentifier(String name, String defType, String defPackage) 

के लिए उदाहरण के लिए, आप लूप में सभी ड्रॉइंग आईडी पढ़ सकते हैं:

int drawableId = resources.getIdentifier("picture01", "drawable", "pkg.of.your.java.files"); 
              picture02... 
              picture03... 

फिर उन्हें बिटमैप की एक सरणी में बचाने ..और:

private Bitmap[] images; 
images[i] = BitmapFactory.decodeResource(resources, drawableId); 

अब आप सरणी के रूप में अपने छवियों का उपयोग करने में सक्षम हैं।

1
@Bevor के लिए सम्मान के साथ

, तो आप इस तरह getResources() बजाय विधि android.content.res.Resources उपयोग कर सकते हैं:

ArrayList<Integer> imgArr = new ArrayList<Integer>(); 

    for(int i=0;i<5;i++){ 

     imgArr.add(getResources().getIdentifier("picture"+i, "drawable", "pkg.of.your.java.files")); 
    } 

उपयोग:

imageView.setImageResource((int)imgArr.get(3)); 
0
String[] arrDrawerItems = getResources().getStringArray(R.array.arrDrawerItems); // Your string title array 

// You use below array to create your custom model like 
TypedArray arrDrawerIcons = getResources().obtainTypedArray(R.array.arrDrawerIcons); 

for(int i = 0; i < arrDrawerItems.length; i++) { 
    drawerItemDataList.add(new DrawerItemModel(arrDrawerItems[i], arrDrawerIcons.getResourceId(i, -1), i == 0 ? true : false)); 
} 
drawerItemAdapter = new DrawerItemAdapter(this, drawerItemDataList); 
mDrawerList.setAdapter(drawerItemAdapter); 
संबंधित मुद्दे