Kotlin.TypeCastException: значение null не может быть приведено к ненулевому типу com.midsizemango.databasekotlin.NoteAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Kotlin.TypeCastException: значение null не может быть приведено к ненулевому типу com.midsizemango.databasekotlin.Note

Сообщение Гость »


Я пытаюсь написать код своего приложения на Kotlin, но получаю сообщение, что значение null не может быть приведено к ненулевому типу, и приложение принудительно останавливается, когда я открываю EditNoteActivity в EXTRA_NOTE наверное.

Любая помощь высоко ценится

Код:

класс EditNoteActivity : AppCompatActivity() { var note: Примечание? = ноль частное значение EditПримечание: TextView? = ноль частный val fabdrwble: Логическое значение? = ноль частные val NotesData: MutableList? = ноль частная переменная DatabaseHelper: DatabaseHelper? = ноль личное значение val save: логическое значение? = ноль частная переменная saveButton: FloatingActionButton? = ноль частный оттенок val: ColorStateList? = ноль внутренняя переменная mRowId: Длинная? = ноль внутренний var spinner: Spinner? = ноль внутренний var spinnertext: строка? = ноль внутренняя переменная fav: Int = 0 внутренний вар mSharedFromIntentFilter = false внутренняя переменная editTitle: EditText? = ноль внутренняя переменная editContent: EditText? = ноль внутренний var inputlayoutTitle: TextInputLayout? = ноль внутренний var inputlayoutContent: TextInputLayout? = ноль переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView (R.layout.activity_edit_note) var панель инструментов = findViewById(R.id.toolbar_edit) как панель инструментов? setSupportActionBar (панель инструментов) если (supportActionBar!= ноль) supportActionBar!!.setDisplayHomeAsUpEnabled(истина) DatabaseHelper = DatabaseHelper(applicationContext) inputlayoutTitle = findViewById (R.id.inputlayoutTitle) как TextInputLayout? inputlayoutContent = findViewById (R.id.inputlayoutContent) как TextInputLayout? editTitle = findViewById(R.id.note_title) как EditText editContent = findViewById (R.id.note_content) как EditText? val Bundle = Intent.extras val s = Bundle.getString("изменить") если (s == "добавить") { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE) } else if (s == "editv") { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) } note = Intent.getSerializableExtra(EXTRA_NOTE) как примечание если (обратите внимание!= ноль) { editTitle?.setText(примечание!!.getTitle()) editContent?.setText(примечание!!.getContent()) } еще { Примечание = Примечание() //note.setUpdatedAt(новая дата()); } saveButton = findViewById(R.id.add_edit_button) как FloatingActionButton? saveButton!!.setOnClickListener { если (isNoteFormOk) { setNoteResult() заканчивать() } еще валидироватьNoteForm() } var ll = findViewById(R.id.llmain) как LinearLayout? var ll1 = findViewById(R.id.ll1) как LinearLayout? /*if(note.getColor() == Color.TRANSPARENT){ selectedColor = предварительный выбор; }еще { selectedColor = note.getColor(); } getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); systemBarTintManager = новый SystemBarTintManager (это); systemBarTintManager.setStatusBarTintEnabled(истина); ll.setBackgroundColor(selectedColor); ll1.setBackgroundColor(выбранный цвет); Toolbar.setBackgroundColor(note.getColor()); systemBarTintManager.setStatusBarTintColor(selectedColor);*/ } переопределить удовольствие onResume() { супер.onResume() } переопределить удовольствие onOptionsItemSelected(item: MenuItem): Boolean { когда (item.itemId) { android.R.id.home -> { Сзади() вернуть истину } /* дело Р.ид.речь: пытаться { displaySpeechRecouncer(); } catch (ActivityNotFoundException e) { Браузер намеренийIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://market.android.com/details?id=c ... ksearchbox")); startActivity (browserIntent); } вернуть истину;*/ else -> вернуть super.onOptionsItemSelected(пункт) } } частное развлечение displaySpeechRecouncer() { val намерение = Намерение (RecouncerIntent.ACTION_RECOGNIZE_SPEECH) Intent.putExtra(RecouncerIntent.EXTRA_LANGUAGE_MODEL, RecouncerIntent.LANGUAGE_MODEL_FREE_FORM) startActivityForResult (намерение, SPEECH_REQUEST_CODE) } переопределить удовольствие onActivityResult(requestCode: Int, resultCode: Int, данные: намерение) { если (код запроса == SPEECH_REQUEST_CODE && resultCode == Activity.RESULT_OK) { val результаты = data.getStringArrayListExtra(RecouncerIntent.EXTRA_RESULTS) val SpeakingText = результаты[0] editContent?.setText(SpeakenText) } если (requestCode == RequestResultCode.REQUEST_CODE_ADD_NOTE) { если (resultCode == Activity.RESULT_OK) { добавитьПримечание (данные) } } } частный val isNoteFormOk: логическое значение получать() { val title = editTitle?.text.toString() return !(title == null || title.trim { it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»