- Forum-Beiträge: 615
09.04.2020, 15:51:57 via Website
09.04.2020 15:51:57 via Website
Hallo zusammen
Ich erlerne zur Zeit Kotlin. Dazu habe ich ein Buch mit Beispielen. Bei einem Beispiel bleibe ich hängen.
package ch.robbisoft.activityuebergabe
import android.app.Activity
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val z = 42
val x = 47.11
val t = "Hallo Welt"
val a:ArrayList<Int> = arrayListOf(12, -5, 2)
tvHauptAusgabe.text = "Haupt-Activity:\n%d %.2f %s %s".format(z, x, t, a.joinToString(" "))
buUnter.setOnClickListener {
val unter = Intent(this, UnterActivity::class.java)
unter.putExtra("zHaupt", z)
unter.putExtra("xHaupt", x)
unter.putExtra("tHaupt", t)
unter.putExtra("aHaupt", a)
startActivityForResult(unter, 1)
}
buUnterZwei.setOnClickListener {
val unterzwei = Intent(this, UnterZweiActivity::class.java)
startActivityForResult(unterzwei, 2)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 1){
if(resultCode == Activity.RESULT_OK && data != null){
if(data.hasExtra("zUnterEins")){
val rueckgabe = data.getIntExtra("zUnterEins", 0)
tvRueckgabe.text = "Rückgabe aus Eins: %d".format(rueckgabe)
}
}else if(resultCode == Activity.RESULT_CANCELED){
tvRueckgabe.text = "Keine Rückgabe aus Eins"
}
}else if(requestCode == 2){
if(resultCode == Activity.RESULT_OK && data != null){
if(data.hasExtra("zUnterZwei")){
val rueckgabe = data.getIntExtra("zUnterZwei", 0)
tvRueckgabe.text = "Rückgabe aus Zwei: %d".format(rueckgabe)
}
}else if(resultCode == Activity.RESULT_CANCELED){
tvRueckgabe.text = "Keine Rückgae aus Zwei"
}
}
}
}
}
Bei der Methode für die Antwort von den Activitiys hat es ein Problem. Das reservierte Wort override ist rot unterlegt und beim Kompilieren kommt folgender Fehler:
Modifier 'override' is not applicable to 'local function'
Wenn ich versuche mit Generit override funktion eine zu erstellen wird sie nicht angeboten. Ich habe alles abgetippt wie es im Buch steht und trotzdem funktioniert es nicht.
Sieht jemand wo der Fehler ist?
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.