2011-04-26 10 views
11

से सरणी स्ट्रिंग संसाधन नहीं मिल सकता है मेरे पास मेरी एक्सएमएल फ़ाइल में मानों की एक सूची है जिसे मैं स्पिनर चयन के आधार पर चुनना चाहता हूं। किसी कारण से, स्पिनर के लिए सरणी-स्ट्रिंग का उपयोग ठीक काम करता है, मान स्पिनर में आते हैं। किसी भी कारण से, मुझे अपने जीवन को बचाने के लिए दूसरी सरणी के मान नहीं मिल सकते हैं, वे एक ही फाइल में हैं जिनके पास कोई त्रुटि नहीं है जो मुझे मिल सकती है।एक्सएमएल

String[] some_array = getResources().getStringArray(R.array.playerclassdesc_array); 

स्पिनर अलग ढंग से भर जाता है (इस भाग कर कोई त्रुटि):

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
    this, R.array.playerclass_array, android.R.layout.simple_spinner_item); 

त्रुटि मैं हो रही है:

"यहाँ जिस तरह से मैं उन्हें हड़पने के लिए कोशिश कर रहा हूँ है 04-26 21: 41: 35.305: ERROR/AndroidRuntime (514): कारण: android.content.res.Resources $ NotFoundException: स्ट्रिंग सरणी संसाधन आईडी # 0x7f050001 "

जो सीधे" getResources "को संदर्भित करता है "रेखा। क्या किसी के पास कोई सुराग है कि यह क्यों हो रहा है?

संपादित करें: यहाँ xml फ़ाइल है (यह आसान है)

<?xml version="1.0" encoding="UTF-8"?> 
<resources> 
    <string name="class_prompt">Choose a class</string> 
    <string-array name="playerclass_array"> 
     <item>Assassin</item> 
     <item>Paladin</item> 
     <item>Pirate</item> 
     <item>Hell Mage</item> 
     <item>Winter Witch</item> 
     <item>Shadow Walker</item> 
     <item>Underthief</item> 
     <item>Red Warrior</item> 
     <item>Haru Norda</item> 
    </string-array> 
    <string-array name="playerclassdesc_array"> 
     <item>This is the Assassin</item> 
     <item>This is the Paladin</item> 
     <item>This is the Pirate</item> 
     <item>This is the Hell Mage</item> 
     <item>This is the Winter Witch</item> 
     <item>This is the Shadow Walker</item> 
     <item>This is the Underthief</item> 
     <item>This is the Red Warrior</item> 
     <item>This is the Haru Norda</item> 
    </string-array> 
</resources> 

उत्तर

11

मुझे इससे नफरत है जब मैं सही होने के बाद उत्तर नहीं मिलता!

किसी कारण से, एंड्रॉइड एक्सएमएल फ़ाइल को सही ढंग से पुन: संकलित नहीं कर रहा था, इसलिए नाम बदलने के बाद, और फिर इसे वापस बदलने के बाद, यह अब काम करता है। तो मेरा समाधान यह है कि मुझे एक्सएमएल फ़ाइल में कुछ संपादन करना पड़ा, जिसमें सरणी रह गई थी क्योंकि ग्रहण के बावजूद यह ठीक से पुन: संकलित नहीं हुआ था।

+0

इसे उत्तर के रूप में चिह्नित करें ताकि हम इसे फ़िल्टर कर सकें। –

+0

मुझे इंतजार करना है, जाहिर है कि आपके अपने प्रश्न का उत्तर देने के लिए 2 दिन की समय सीमा है। अगर मैं किसी भी मुद्दे पर चलता हूं तो मैं इसे छोड़ रहा हूं (प्रश्न)। – Organiccat

+0

"जब मुझे जवाब मिल जाए तो मुझे इससे नफरत है!" वही बात मेरे साथ भी कम से कम 3-4 बार हुई है: पी –

2

मैंने कई बार इसी तरह की समस्याओं में भाग लिया है। मैंने पाया कि परियोजना का उपयोग कर | ग्रहण में स्वच्छ विकल्प और फिर मेरी परियोजना का पुनर्निर्माण हमेशा उन्हें हल करता है। यह अनिवार्य रूप से आप XML फ़ाइल को संपादित करके कर रहे हैं; आप एक्सक्लिप्स को अपने संसाधनों को एक्सएमएल फाइल से पुनर्निर्माण के लिए मजबूर कर रहे हैं।

6

मैं ArrayAdapter के निर्माता में एक कास्ट करने की कोशिश करता हूं, या ArrayAdapter में तत्व के प्रकार का पीछा करता हूं।

ArrayAdapter<String> adapter = ArrayAdapter.createFromResource(
this, R.array.playerclass_array, android.R.layout.simple_spinner_item);