wake-up-neo.com

Kotlin: Wie kann man TextView in Android mit Kotlin abrufen und einstellen?

Ich bin Neuling. 

Ich möchte den Text von TextView ändern, während Sie darauf klicken.

Mein Code:  

val text: TextView = findViewById(R.id.Android_text) as TextView
    text.setOnClickListener {
        text.setText(getString(R.string.name))
    }

Ausgabe: Ich habe die Ausgabe erhalten, aber Eigenschaftszugriffssyntax verwenden .

Kann mir jemand sagen, wie es geht?

Danke im Voraus.

13
Nitt

Verwenden Sie in Kotlin keine Getter und Setter wie in Java. Das korrekte Format des Kotlin ist unten angegeben.

val textView: TextView = findViewById(R.id.Android_text) as TextView
textView.setOnClickListener {
    textView.text = getString(R.string.name)
}

Um die Werte aus der Textview zu erhalten, müssen wir diese Methode verwenden

 val str: String = textView.text.toString()

 println("the value is $str")
30
Nithinlal

fügen Sie einfach eine Zeile hinzu und greifen Sie auf das direkte XML-Objekt zu

import kotlinx.Android.synthetic.main.activity_main.*

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        txt_HelloWorld.text = "abc"
    }

ersetzen Sie activity_main entsprechend Ihrem XML-Namen

7
tej shah

Suchen Sie die Textansicht über das Layout.

val textView : TextView = findViewById(R.id.Android_text) as TextView

OnClickListener in der Textansicht einstellen.

textview.setOnClickListener(object: View.OnClickListener {
    override fun onClick(view: View): Unit {
        // Code here.
        textView.text = getString(R.string.name)
    }
})

Argumente in Klammern können in View.setOnClickListener weggelassen werden, wenn ein einzelnes Funktionsliteralargument übergeben wird. Der vereinfachte Code lautet also:

textview.setOnClickListener {
    // Code here.
    textView.text = getString(R.string.name)
}
4
Avijit Karmakar

findViewById (R.id.Android_text) benötigt keine Typumwandlung.

0
sunghun
import kotlinx.Android.synthetic.main.MainActivity.*

class Mainactivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.MainActivity)

        txt.setText("hello Kotlin")

    }

}
0
Venkatesh Jose
val text: TextView = findViewById<TextView>(R.id.text_id) as TextView
0
Mundroid
  <TextView
        Android:id="@+id/usage"
        Android:layout_marginTop="220dip"
        Android:layout_marginLeft="45dip"
        Android:layout_marginRight="15dip"
        Android:typeface="serif"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Google "
        Android:textColor="#030900"/>


usage.text="hello world"
0
eagerprince

Benutzen: 

val textView: TextView = findViewById(R.id.Android_text) as TextView
textView.setOnClickListener {
    textView.text = getString(R.string.name)
}

Oder:

sie können jede Anrufseite mit @Suppress("UsePropertyAccessSyntax") kommentieren, aber das ist hässlich.

0
Benny