- Forum-Beiträge: 602
08.03.2020, 17:42:21 via Website
08.03.2020 17:42:21 via Website
Hallo zusammen
Ich bin am Kotlin lernen. Dazu habe ich ein Lehrbuch gekauft. Da hat es einige kleine Beispiele darin. Mein Programm soll ein Ereignis auslösen wenn ich den Button anklicke. Dies funktioniert bis auf den Button bufuenf. Da wird das onClick Ereignis mittels eines Singleton-Objekt ausgelöst.
val mFuenf = object: View.OnClickListener{
override fun onClick(v: View?) {
tvAusgabe.text = "Zahl 5"
}
}
bufuenf.setOnClickListener { mFuenf }
Ich denke, dass ich das Beispiel wie im Buch beschrieben abgetippt habe. Trotzdem funktioniert es nicht. Kann mir jemand sagen was ich falsch mache.
zum Schluss noch die ganze Klasse
package ch.robbisoft.listenervarianten
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
buEins.setOnClickListener(this)
buZwei.setOnClickListener(this)
val mDrei = MeineListenerKlasse()
buDrei.setOnClickListener(mDrei)
buVier.setOnClickListener { MeinListenerObjekt }
val mFuenf = object: View.OnClickListener{
override fun onClick(v: View?) {
tvAusgabe.text = "Zahl 5"
}
}
bufuenf.setOnClickListener { mFuenf }
buSechs.setOnClickListener(object:View.OnClickListener{
override fun onClick(p0: View?) {
tvAusgabe.text = "Zahl 6"
}
})
buSieben.setOnClickListener { v ->
val bu = v as Button
bu.text = "Hallo sieben"
}
buAcht.setOnClickListener { _ ->
tvAusgabe.text = "Die Zahl 8"
}
buNeun.setOnClickListener {
val bu = it as Button
bu.text = "Hallo neun"
}
buZehn.setOnClickListener {
tvAusgabe.text = "Zahl 10"
}
}
override fun onClick(v: View?){
when(v?.id){
buEins.id -> tvAusgabe.text = "1"
buZwei.id -> tvAusgabe.text = "2"
}
}
}
Gruss Renato
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.