
- Forum-Beiträge: 669
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