Estaba siguiendo una guía (descargue el estudio de Android hoy) de kotlin y he usado setText y no funciona. cual sera el problema
package com.example.basic import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.TextView import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show() } button2.setOnClickListener { val input = editTextTextPersonName.text.toString() TextView.setText("entered value: ${input}") } } }(Intenté reemplazar setText por texto, pero aún está rojo y no puedo guardarlo)
Referencia no resuelta: setText(error)
TextView es el nombre de la clase. Debe aplicar setText en una instancia de la clase. tal como lo hiciste
editTextTextPersonName.text.toString()en lugar de
EditText.text.toString()No sé si se llama a su TextView, pero luego debe hacer
instanceOfYourTextView.setText("entered value: ${input}")Como Mayur Gajra mencionó, no está usando la vista del XML, sino que está usando la clase TextView y este es su problema, lo que necesita es algo como esto:
<TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" />Y luego su MainActivity debería tener el siguiente aspecto:
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { Toast.makeText(applicationContext, "button was pressed.", Toast.LENGTH_LONG).show() } button2.setOnClickListener { val input = editTextTextPersonName.text.toString() text.setText("entered value: ${input}") } } }