2017-06-12 11 views
17

मैं एक edittext में पाठ सेट करने के लिए कोशिश कर रहा हूँ, लेकिन यह टाइप बेमेल आवश्यक संपादन योग्य स्ट्रिंग के रूप में पालनसेटिंग पाठ, एंड्रॉयड

String name = "Paramjeet" 
val nametxt = findViewById (R.id.nametxt) as EditText 
nametxt.text = name 

न क्योंकि मैं kotlin उपयोग कर रहा हूँ setText उपयोग करने के लिए कहते हैं कि मेरी कोड है पाया कहते हैं नहीं जावा

+0

संभावित डुप्लिकेट [कोटलिन पीआर कैसे करता है जावा कक्षाओं के लिए ऑपरेटरी एक्सेस सिंटैक्स काम?] (https://stackoverflow.com/questions/37374075/how-does-kotlin-property-access-syntax-work-for-java-classes) –

+0

इसके अलावा: आपको आवश्यकता नहीं है अगर आप कोटलिन एंड्रॉइड एक्सटेंशन (एंड्रॉइड स्टूडियो के साथ भेज दिया गया) का उपयोग करते हैं तो findViewById। आपको किसी भी खोज या कास्टिंग के बिना 'nexttxt.setText (name)' को कॉल करने में सक्षम होना चाहिए। – AjahnCharles

उत्तर

33

उपयोग setText(String), editText.text के बाद से एक Editable, नहीं एक String की उम्मीद है। EditText के एपीआई पर

6

उपयोग setText(String)EditText.text रूप firstplace में एक editable की आवश्यकता नहीं स्ट्रिंग

क्यों?

Nice explanationमाइकल द्वारा this link के तहत दिए गए। अधिक जानकारी के लिए इस लिंक पर जाएं

जावा गेटर/सेटर जोड़ी के लिए सिंथेटिक प्रॉपर्टी उत्पन्न करते समय कोटलिन पहले गेटर की तलाश में है। गेटर एक प्रकार के गेटटर के साथ सिंथेटिक संपत्ति बनाने के लिए पर्याप्त है। दूसरी ओर संपत्ति केवल तभी बनाई जाएगी जब कोई सेटटर प्रस्तुत न हो।

जब एक सेटटर प्ले संपत्ति निर्माण में आता है तो अधिक कठिन हो जाता है। कारण यह है कि गेटर और सेटर के पास अलग-अलग प्रकार हो सकते हैं। इसके अलावा, गेटटर और/या सेटर को उप-वर्ग में ओवरराइड किया जा सकता है।

-1

nametxt.post उपयोग करके देखें: nametxt.post ({nametxt.setText ("अपने पाठ ")}

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