Ссылка на ссылку - PullRequest
       1

Ссылка на ссылку

0 голосов
/ 02 марта 2019

Я новичок в Kotlin, и я не знаю, как исправить эту ошибку: Неразрешенная ссылка: просмотр.Моя цель, нажав кнопку перейти к другой деятельности.Я копирую код:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        findViewById<Button>(R.id.button).setOnClickListener{
            sendMessage(view)
        }



    }

    val EXTRA_MESSAGE = "com.example.monedas.MESSAGE"
    fun sendMessage(it: view) {
        val intent = Intent(this, ListActivity::class.java)
        val editText : TextView = findViewById(R.id.textView4)
        val message = editText.text.toString()
        intent.putExtra(EXTRA_MESSAGE, message)
        startActivity(intent)
    }


}

1 Ответ

0 голосов
/ 02 марта 2019

Вы передаете неопределенный параметр в функцию sendMessage().Вы нигде не объявили эту view переменную.Но, похоже, вам это не нужно, так как вам не нужен аргумент it из sendMessage().Поэтому измените на:

fun sendMessage() {
    val intent = Intent(this, ListActivity::class.java)
    val editText : TextView = findViewById(R.id.textView4)
    val message = editText.text
    intent.putExtra(EXTRA_MESSAGE, message)
    startActivity(intent)
}

и назовите это так:

findViewById<Button>(R.id.button).setOnClickListener{
    sendMessage()
}

Как примечание стороны:В Kotlin вам не нужно использовать findViewById(), если вы хотите получить доступ к View раздуваемого макета в вашем классе активности.Просто убедитесь, что вы импортировали:

import kotlinx.android.synthetic.main.activity_main.*

, и тогда вы можете просто сделать:

button.setOnClickListener{ sendMessage() }

и в sendMessage():

fun sendMessage() {
    val intent = Intent(this, ListActivity::class.java)
    intent.putExtra(EXTRA_MESSAGE, textView4.text)
    startActivity(intent)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...