2014-06-17 19 views
6

के साथ एंड्रॉइड स्ट्रिंग plurals मैं वर्तमान में एक एंड्रॉइड ऐप विकसित कर रहा हूं जो अंतरराष्ट्रीयकरण के लिए एंड्रॉइड संसाधन तारों का भारी उपयोग करता है। हर स्ट्रिंग पहचानकर्ता नाम कोड में मैं के साथ स्ट्रिंग संदर्भित कर सकते हैंडॉट से अलग पहचानकर्ता नाम

<string name="example.string.name.identifier">Example</string> 

के रूप में एक विशिष्ट प्रारूप इस तरह है:

R.string.example_string_name_identifier 

और यह सामान्य स्ट्रिंग्स के लिए पूरी तरह से ठीक काम करता है।

error: Error retrieving parent for item: No resource found that matches the given name 'example.plural.name' 

स्ट्रिंग बहुवचन परिभाषा इस प्रकार है के रूप में:: लेकिन जैसे ही मैंने बहुवचन पहचानकर्ता नाम के लिए इस स्वरूप का उपयोग, मैं निम्नलिखित त्रुटि मिलती है

<plurals name="example.plural.name.identifier"> 
    <item quantity="one">Example</item> 
    <item quantity="other">Examples</item> 
    <item quantity="zero">Examples</item> 
</plurals> 

और कोड में मैं के साथ बहुवचन संदर्भ:

// _amount is a function parameter 
String exampleString = getResources().getQuantityString(R.plurals.example_plural_name_identifier, _amount, _amount); 

दुर्भाग्य से जिस कंपनी में मैं काम कर रहा हूं, वास्तव में मुझे इस पैटर्न के साथ रहना चाहता है। स्ट्रिंग plurals के साथ इस पैटर्न का उपयोग करने की कोई संभावना है या क्या हमें पहचानकर्ता का नाम बदलना है?

+0

पोस्ट करें कि आप अपने कोड में बहुवचन स्ट्रिंग को कैसे कॉल कर रहे हैं – silwar

+0

@ सिल्वर ने मेरे प्रश्न को अपडेट किया। – blackfizz

+0

मुझे लगता है कि पैटर्न नाम बदलने के लिए बेहतर है। त्रुटि एंड्रॉइड-एपीटी-कंपाइलर से जाती है, इसलिए मुझे लगता है कि आप इसे ठीक नहीं कर सकते ... –

उत्तर

1

आप बहुवचन कैसे प्राप्त करते हैं?

उदाहरण:

int number=2; 
Resources res = getResources(); 
String quantityString = res.getQuantityString(R.plurals.example.plural.name.identifier, number, number); 

खैर ऐसा लगता है कि आप केवल नाम में उपयोग कर सकते हैं '_'। किसी भी बिंदु int वह नाम मुझे नाम के पहले चरित्र के रूप में डॉट के बगल में एक ही समस्या देता है।

+0

ने मेरा प्रश्न अपडेट किया। और हाँ, मैं इसे इस तरह से पुनः प्राप्त करता हूं। – blackfizz

+0

मेरा जवाब अपडेट किया गया। – Nexowski

संबंधित मुद्दे