Kotlin Anfänger, Problem mit Timer und TextView Change in Kombination

  • hallo,



    das ist mein 1. Thread. Hoffe ich bin hier auch richtig.



    Programmiere seit vielen Jahren vb.net. Möchte nun jedoch Apps für Android (und später auch IOS) schreiben, das funktioniert mit vb.net nicht. Daher hab ich angefangen mich mit Kotlin zu beschäftigen. Vorgestern um genau zu sein.


    Ich quäle mich gerade seit gestern damit in einem Timer, der pro Sekunde aufgerufen wird, um einen Text eines TextView zu ändern. Die Variable money wird pro Timeraufruf um 1 erhöht und soll im TextView txtMoney angezeigt werden.


    Leider wird die findViewByID in der Timer Funktion nicht erkannt. Global kann ich die Variable auch nicht deklarieren, das wird nicht zugelassen. Wie mache ich das denn nun? Freue mich über einen Tipp.



    LG Alois




    package com.example.uyc_android


    import android.os.Bundle


    import android.widget.TextView


    import androidx.appcompat.app.AppCompatActivity


    import java.util.Timer


    import java.util.TimerTask



    var money=0




    class MainActivity : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {


    super.onCreate(savedInstanceState)


    setContentView(R.layout.activity_main)


    val mytxt = findViewById<TextView>(R.id.txtMoney)



    }


    }




    fun main() {


    val timer = Timer()


    val delay = 1L


    val period = 100L



    timer.scheduleAtFixedRate(object : TimerTask() {


    override fun run() {


    // Code, der periodisch ausgeführt werden soll


    println("Timer Task is running")


    money++


    txtMoney.text = money.toString() //das funktiniert nicht


    mytxt.text= money.toString() //und das auch nciht


    }


    }, delay, period)


    }


    Ist sicher ein dummer Anfängerfehler, auf welchen ich jedoch nciht draufkomm.

  • ortech

    Hat den Titel des Themas von „Kotlin Anfänger, PRoblem mit Timer und TexView Change in Kombination“ zu „Kotlin Anfänger, Problem mit Timer und TextView Change in Kombination“ geändert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!