Я новичок в Android Kotlin. я пытаюсь передать объект из одного действия в другое, я застрял
MyClass:
класс данных MyPojo (имя Val: String, Val возраст: String): Сериализуемый
FirstActivity:
class MainActivity: AppCompatActivity () {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val editTextName = findViewById<EditText>(R.id.EditName)
val editTextAge = findViewById<EditText>(R.id.EditAge)
val button = findViewById<Button>(R.id.ButtonSend)
button.setOnClickListener {
val object1 = MyPojo(editTextName.text.toString(),editTextAge.text.toString())
val intent = Intent(this,Main2Activity::class.java)
intent.putExtra("Obj",object1)
startActivity(intent)
}
}
}
SecondActivity:
Класс Main2Activity: AppCompatActivity () {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
val obj :MyPojo = intent.getSerializableExtra("obj") as MyPojo
val textView : TextView = findViewById(R.id.textViewName)
val textViewAge : TextView = findViewById(R.id.textViewAge)
textView.setText(obj.name)
textViewAge.setText(obj.age)
}
}
Ошибка:
6-28 19: 35: 58.625 22192-22192 / com.example.evalai.passingobjecttoactivity E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное
Процесс: com.example.evalai.passingobjecttoactivity, PID: 22192
java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.example.evalai.passingobjecttoactivity / com.example.evalai.passingobjecttoactivity.Main2Activity}: kotlin.TypeCastException: null нельзя привести к непустому типу com.example.evalai. passingobjecttoactivity.MyPojo
на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2379)
на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2442)
на android.app.ActivityThread.access $ 800 (ActivityThread.java:156)
на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1351)
на android.os.Handler.dispatchMessage (Handler.java:102)
на android.os.Looper.loop (Looper.java:211)
на android.app.ActivityThread.main (ActivityThread.java:5371)
в java.lang.reflect.Method.invoke (родной метод)
в java.lang.reflect.Method.invoke (Method.java:372)
на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:945)
на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:740)
Вызывается: kotlin.TypeCastException: нельзя преобразовать значение NULL в ненулевой тип com.example.evalai.passingobjecttoactivity.MyPojo
в com.example.evalai.passingobjecttoactivity.Main2Activity.onCreate (Main2Activity.kt: 14)
на android.app.Activity.performCreate (Activity.java:5990)
на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1106)
atroid.app.ActivityThread.performLaunchActivity (ActivityThread.java:2332)