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.
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")
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
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)
}
findViewById (R.id.Android_text) benötigt keine Typumwandlung.
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")
}
}
val text: TextView = findViewById<TextView>(R.id.text_id) as TextView
<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"
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.