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
}
}