2011-10-25 14 views
11

मैं का उपयोग कर तो जैसे विशिष्ट विधि मेरी सूची दृश्य पर एक हैडर दृश्य जोड़ने कहते हैं:एंड्रॉइड - मौजूदा सूची दृश्य के लिए हेडर/फ़ूटर व्यू तत्वों को कैसे बदलें?

View header = getLayoutInflater().inflate(R.layout.list_header, null); 
TextView headerText = (TextView) header.findViewById(R.id.my_textview); 
headerText.setText("This is my header!"); 

myListView.addHeaderView(header); 
myListView.setAdapter(adapter); 

फिर, बाद में मैं हैडर TextView के पाठ को बदलने की जरूरत ...

TextView headerText = (TextView) findViewById(R.id.my_textview); 
headerText.setText("new header text!"); 

यह काम करने के लिए प्रतीत नहीं होता है, जिस तरह से मैंने मूल रूप से सूची में शीर्षलेख संलग्न किया था, इसे बढ़ाकर ...

मैं टेक्स्ट कैसे बदलूं?

+0

आप दूसरी बार हेडर टेक्स्टव्यू परिणाम प्राप्त क्यों कर रहे हैं परिणाम टेक्स्ट व्यू हेडर टेक्स्ट = (टेक्स्ट व्यू) findViewById (R.id.my_textview); ? बस सेटटेक्स्ट पर सीधे पहले का उपयोग करें। – user370305

+0

संपूर्ण गतिविधि कोड पोस्ट करें ताकि समस्या को समझना हमारे लिए आसान है। – user370305

उत्तर

11

आपको मूल रूप से हेडर टेक्स्ट का संदर्भ संग्रहीत करना चाहिए जिसे आपने मूल रूप से उपयोग किया था। फिर बाद में setText पर कॉल करें।

+1

यह वह दृष्टिकोण है जिसे मैंने उठाया। लेकिन क्योंकि 'हेडरटेक्स्ट' को फुलाए गए व्यू से पुनर्प्राप्त किया गया था, इसलिए मुझे संदर्भित दृश्य के संदर्भ को भी स्टोर करना पड़ा। हालांकि यह काम किया! –

0

हेडर टेक्स्ट बदलने के लिए आप कोड को कहां निष्पादित कर रहे हैं? यदि आप यूआई थ्रेड पर ऐसा नहीं कर रहे हैं तो टेक्स्टव्यू अपडेट नहीं होगा।

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