Ошибка Android: попытка вызвать виртуальный метод 'java.lang.String android.content.Intent.getStringExtra (java.lang.String)' для ссылки на пустой объект - PullRequest
0 голосов
/ 04 июня 2018

Я работаю над приложением Android с Android Studio, но получаю эту ошибку:

Попытка вызвать виртуальный метод 'java.lang.String android.content.Intent.getStringExtra(java.lang.String) 'для ссылки на пустой объект

Так что, похоже, мое намерение нулевое, но я не понимаю, почему ...

Мой первый класс: Таймер

package com.example.work.lustucru

import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.provider.AlarmClock.EXTRA_MESSAGE



const val EXTRA_MESSAGE = "com.example.lustucru.MESSAGE"

class Timer : AppCompatActivity() {

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

    /** Called when the user taps the Send button */
    fun sendMessage(view: View) {
        val editText = findViewById<EditText>(R.id.editText)
        val message = editText.text.toString()
        val intent = Intent(this, DisplayMessageActivity::class.java).apply {
            this.putExtra(EXTRA_MESSAGE, message)
        }
        startActivity(intent)
    }
}

Мой второй класс: DisplayMessageActivity

package com.example.work.lustucru

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView

class DisplayMessageActivity : AppCompatActivity() {

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

        // Get the Intent that started this activity and extract the string
        val message = intent.getStringExtra(EXTRA_MESSAGE)

        // Capture the layout's TextView and set the string as its text
        val textView = findViewById<TextView>(R.id.textView).apply {
            text = message
        }
    }
}

1 Ответ

0 голосов
/ 04 июня 2018

Я думаю, вам нужно сделать этот импорт импорта android.provider.AlarmClock.EXTRA_MESSAGE в вашем классе DisplayMessageActivity, чтобы иметь значение сообщения EXTRA_MESSAGE.Ваша переменная EXTRA_MESSAGE в настоящее время не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...