2015-03-20 3 views
11

मैं संदेश प्राप्त करने की कोशिश की और निम्न कोड पंक्ति काम करता है:अलर्टडिअलॉग शीर्षक कैसे प्राप्त करें?

TextView dialogMessage = (TextView)dialogObject.findViewById(android.R.id.message); 

लेकिन मैं कोड ऊपर जाँच की है जब मैं निम्न पंक्ति यह रिटर्न null

TextView dialogTitle = (TextView)dialogObject.findViewById(android.R.id.tittle); 
+0

आईडी 'अलर्ट टिटल' का उपयोग करने के बाद अतुल्यकालिक रूप से txt जोड़ा, मुझे यकीन नहीं है कि यह कठिन बाहर दृश्यमान है। 'Android.R.id.alertTitle' – Blackbelt

+0

के साथ प्रयास करें कोई आईडी अलर्टटाइटल – alitha

उत्तर

22

का उपयोग कर शीर्षक प्राप्त करने की कोशिश AlertDialog का। आंतरिक रूप से AlertDialog शीर्षक TextView आरंभ करने के लिए वे R.id.alertTitle का उपयोग करते हैं। आप इसे पुनः प्राप्त करने getIdentifier उपयोग कर सकते हैं:

int titleId = getResources().getIdentifier("alertTitle", "id", "android"); 
if (titleId > 0) { 
    TextView dialogTitle = (TextView) dialogObject.findViewById(titleId); 
    if (dialogTitle != null) { 

    } 
} 
+2

यह काम करता है धन्यवाद :) – alitha

+2

लोगों को संभव नहीं कहने के बावजूद, यह एक अच्छा जवाब है। आप ब्लैक बेल्ट के लायक हैं, बहुत बहुत धन्यवाद। – smoothumut

+0

क्या आपको संदेश प्राप्त करने के लिए समान एंड्रॉइड-फू होना है :) –

0

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन मैं स्वीकार किए जाते हैं जवाब का इस्तेमाल किया और मेरे लिए उपयोगी कुछ और जोड़ा। आप नीचे दिए गए कोड का उपयोग कर संवाद शीर्षक मल्टीलाइन (डिफ़ॉल्ट 1 पंक्ति) बना सकते हैं। मैंने प्रीसेट शीर्षक भी पढ़ा क्योंकि मैंने बाद में कंटेंट लोडर

int titleId = getResources().getIdentifier("alertTitle", "id", "android"); 
     if (titleId > 0) { 
      TextView dialogTitle = (TextView) getDialog().findViewById(titleId); 
      if (dialogTitle != null) { 
       dialogTitle.setMaxLines(4); 
       dialogTitle.setSingleLine(false); 
       String txt = dialogTitle.getText().toString(); 
       String txt1 = txt + ":\n\n" + "next line txt"; 
       dialogTitle.setText(txt1); 
      } 
     } 
संबंधित मुद्दे