android - EditText Kotlin में टेक्स्ट सेट करना




android-edittext (7)

EditText के API को देखें:

void setText (CharSequence text, TextView.BufferType type)

Editable getText ()

लिंक: https://developer.android.com/reference/android/widget/EditText.html

मैं एक EditText में पाठ सेट करने की कोशिश कर रहा हूँ, लेकिन यह कहता है:

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

मेरा कोड इस प्रकार है:

nametxt.text = Editable.Factory.getInstance().newEditable(name)

सेटटेक्स्ट का उपयोग करने के लिए मत कहो क्योंकि मैं कोटलिन का उपयोग कर रहा हूं, जावा का नहीं।


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


यदि आप सिद्धांत से .text का उपयोग करना चाहते हैं, तो उपयोग करें:

fun String.toEditable(): Editable =  Editable.Factory.getInstance().newEditable(this)

यहाँ कई काम करने के जवाब हैं, लेकिन अगर आप अभी भी संपत्ति प्रारूप का उपयोग करना चाहते हैं और आपका कोड साफ है, तो आप एक एक्सटेंशन लिख सकते हैं:

mEditText.text = myString.toEditable()

आप इसे इस तरह से उपयोग कर सकते हैं:

var EditText.value
    get() = this.text.toString()
    set(value) {
            this.setText(value)
    }

सेटटेक्स्ट (स्ट्रिंग), इसलिए आपको अपने स्ट्रिंग को एडिट टेक्स्ट पर सेट करना होगा, इसलिए आपके मामले में यह है: nametxt.setText (नाम)


EditText.text रूप में setText(String) उपयोग करें, पहले स्थान पर एक editable EditText.text चाहिए स्ट्रिंग नहीं

क्यों ?

इस लिंक के तहत माइकल द्वारा दी गई अच्छी व्याख्या । अधिक विस्तार के लिए इस लिंक पर जाएं

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

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


 editText.setText("Your text here") 




android-edittext