Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Serializable - em Kotlin

Pessoal, tentando salvar os dados no formulário, ao executar o aplicativo quebra quando clico no botão Floating ou no nome que acrescentei no código pra teste.

class FormAluno : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_form_aluno)
        setTitle("Novo Aluno")
        val dao = AlunoDao()

        val nomeTextView: TextView = findViewById(R.id.nome)
        val celTextView: TextView = findViewById<EditText>(R.id.cel)
        val emailTextView: TextView = findViewById<EditText>(R.id.email)

        var dados = Intent()
        var alunoSerializable:Aluno = dados.getSerializableExtra("nome") as Aluno  
        nomeTextView.setText(alunoSerializable.nome)
        celTextView.setText((alunoSerializable.cel))
        emailTextView.setText(alunoSerializable.email)

        val btnSalvarView = findViewById<Button>(R.id.btn_salvar)
        btnSalvarView.setOnClickListener {
            var nome = nomeTextView.editableText.toString()
            var cel = celTextView.editableText.toString()
            var email = emailTextView.editableText.toString()
            var alunoCriado = Aluno(nome, cel, email)
            dao.salva(alunoCriado)
            startActivity(Intent(this, ListaAlunos::class.java))
        }
    }
}
class ListaAlunos : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        setTitle("Lista Alunos")

        val dao = AlunoDao()
        dao.salva(Aluno("Luciano", "4899998888", "luciano.gmail.com"))

        val btnAdicionarView = findViewById<FloatingActionButton>(R.id.btn_adicionar)
        btnAdicionarView.setOnClickListener {
            val intentBtnAdicionar = Intent(this, FormAluno::class.java)
            startActivity(intentBtnAdicionar)
        }
        configuraLista(dao)
    }

    private fun configuraLista(dao: AlunoDao) {
        val listaAlunosView = findViewById<ListView>(R.id.activity_lista_alunos)
        val alunos: List<Aluno> = dao.todos()
        listaAlunosView.adapter =
            ArrayAdapter(this, android.R.layout.simple_list_item_1, alunos)
        listaAlunosView.setOnItemClickListener { parent, view, position, id ->
            var alunoEscolhido = alunos[position]
            var intent = Intent(this, FormAluno::class.java)

            intent.putExtra("nome", alunoEscolhido)
            startActivity(intent)
        }
    }
}
class Aluno(val nome: String,
            val cel: String,
            val email: String): Serializable {
    @NonNull
    override fun toString(): String {
        return nome
    }

}
1 resposta
solução!

Consegui povo!

var dados = Intent() <= aqui esqueci de por getIntent()

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software