2010-07-29 13 views
22

क्या साथR.string.value सहायता एंड्रॉयड अधिसूचना

CharSequence contentTitle = R.string.value; 

त्रुटि सौदा CharSequence को पूर्णांक से परिवर्तित नहीं कर सकते। क्या इस के आसपास कोई रास्ता है या क्या मुझे कुछ याद आ रहा है? मैंने

String s = R.string.value + ""; 
CharSequence contentTitle = s; 

यह पूर्णांक मान देता है। कोई मदद?

उत्तर

55

R.string.value कक्षा आर में स्थैतिक क्षेत्र के लिए एक कॉल है, जो ग्रहण द्वारा स्वचालित रूप से उत्पन्न होता है और जो आपके सभी संसाधनों का सारांश देता है।

CharSequence contentTitle = getString(R.string.value); 

आप आर वर्ग आपको लगता है कि यह केवल संख्या है कि आपके परियोजना के संकलित संसाधन के लिए संदर्भ होते हैं देखेंगे खोलते हैं: स्ट्रिंग को पुनः प्राप्त करने के लिए, आप का उपयोग करने की आवश्यकता है।

+0

बहुत अच्छा काम किया। धन्यवाद – Simon

+1

@ सेफी मुझे getString() के साथ कोई समस्या है, मैं "विधि प्राप्त करने वाला स्ट्रिंग (int) अपरिभाषित है ..." मैं क्या गलत कर रहा हूं? – mlevit

+0

इस विधि के साथ क्या करने का प्रयास करें? – Sephy

7

स्ट्रिंग को पुनः प्राप्त करने के लिए, आपको GetString() का उपयोग करने की आवश्यकता है,

लेकिन GetString() संदर्भ वर्ग से एक विधि है। आप अपनी गतिविधि कक्षा के बाहर इस विधि का उपयोग करना चाहते हैं, तो आप अपने संदर्भ के लिए लिंक पहले मिलना चाहिए और उसके बाद फोन:

String s = mContext.getString(R.string.somestring) 
1

R.string.value रिटर्न संसाधन 'मान' का संदर्भ आईडी नंबर। आप अपने अनुसंधान वर्ग को देखें, तो यह कुछ इस तरह के रूप में दिखाई देगा:

public static final class string { 
    public static final int value=0x7f040007; 
} 

मैं GetString() विधि को संदर्भित साथ समस्याओं का सामना कर रहा है। सटीक त्रुटि है कि ग्रहण मुझ पर थूक है:

विधि GetString (int) प्रकार DatabaseHelper.MainDatabaseHelper

के लिए अपरिभाषित है थोड़ी देर मैं समझ गए होंगे के लिए है कि आप अपने संदर्भ होना चाहिए पढ़ने के बाद getString() विधि तक पहुंच प्राप्त करने के लिए एप्लिकेशन का संदर्भ। मैं एक सामग्री प्रदाता में एक निजी SQLDatabase सहायक वर्ग बनाने की कोशिश कर रहा था, हालांकि, मुझे getString() विधि का संदर्भ देने की अनुमति नहीं दे रहा था। .getString()

(getContext()) .getString

संदर्भ:

private class MainDatabaseHelper extends SQLiteOpenHelper { 

    MainDatabaseHelper(Context context) { 
     super(context, context.getString(R.string.createRoutesTable), null, 1); 
    } 

    public void onCreate(SQLiteDatabase db) { 
     db.execSQL((getContext()).getString(R.string.createRoutesTable)); 
    } 
} 

सूचना इन दो संदर्भ संदर्भ: मेरा समाधान अब तक इस तरह कुछ करने के लिए है()

मुझे नहीं पता कि यह इष्टतम दीर्घकालिक है या नहीं olution लेकिन यह इस पल के लिए काम करता प्रतीत होता है। उम्मीद है की यह मदद करेगा।

0

आप String s = getResources().getString(R.string.value); भी इस्तेमाल कर सकते हैं।

+0

कुछ जावा क्लास (गतिविधि नहीं) जैसे viewPagerAdapter में पहुंच कैसे प्राप्त करें। मेरे पास 'getContext' नहीं है? –

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