Home > Mobile >  Unresolved reference: setText
Unresolved reference: setText

Time:04-19

I created an app in Java, but when converting to Kotlin, I had to change the variable

            val random = Random() //gerar números aleatórios

            val numerosAleatorios = frasesst.random() //gerar as frases de maneira aleatória

            frases.setText(frasesst[numerosAleatorios])

Now the error "Unresolved reference: setText" appears when I try to compile the apk. Below is the source code of the app to understand better.

package com.frases.coquinha

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import java.util.*

class MainActivity : AppCompatActivity(), View.OnClickListener {

    private var frases: TextView? = null
    private var gerarFrases: Button? = null

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var frases = findViewById<View>(R.id.frases)
        var gerarFrases = findViewById<View>(R.id.gerarFrases)

        gerarFrases.setOnClickListener(View.OnClickListener {
            val frasesst: Array<String> = arrayOf(
                "Você é incrível, nunca deixe alguém dizer o contrário!",  //0
                "Você é perfeitamente imperfeita!\uD83D\uDE0D❤️",  //1
                "Você é linda, do jeitinho que você é!\uD83D\uDE0D",  //2
                "Você é a mulher mais bela que meus olhos já viram!",  //3
     
            )

            val random = Random() //gerar números aleatórios

            val numerosAleatorios = frasesst.random() //gerar as frases de maneira aleatória

            frases.setText(frasesst[numerosAleatorios])

        })

    }

    override fun onClick(p0: View?) {
        TODO("Not yet implemented")
    }
}

CodePudding user response:

Try this

var frases = findViewById<TextView>(R.id.frases)
var gerarFrases = findViewById<Button>(R.id.gerarFrases)

CodePudding user response:

I have updated your code Try once

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {

    private var frases: TextView? = null
    private var gerarFrases: Button? = null

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        frases = findViewById(R.id.frases)
        gerarFrases = findViewById(R.id.gerarFrases)

        gerarFrases?.setOnClickListener {
            val frasesst: Array<String> = arrayOf(
                "Você é incrível, nunca deixe alguém dizer o contrário!",  //0
                "Você é perfeitamente imperfeita!\uD83D\uDE0D❤️",  //1
                "Você é linda, do jeitinho que você é!\uD83D\uDE0D",  //2
                "Você é a mulher mais bela que meus olhos já viram!",  //3

            )


            val numerosAleatorios = (0..3).random()
            Toast.makeText(this, numerosAleatorios.toString(), Toast.LENGTH_LONG).show()
            frases?.text = frasesst[numerosAleatorios]

        }

    }


}
  • Related