Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como recuperar um objeto selecionado na Spinner

Boa tarde Pessoal,

Eu tenho um formulário que tem 2 campos de texto e 1 Spinner, sendo que esta spinner é um objeto que tem ID e Nome. Na classe helper eu consigo recuperar as informações dos campos de texto perfeitamente, mas não estou sabendo como faço para recuperar o objeto de dentro da Spinner, já tentei várias formas sem sucesso, podem me ajudar? Segue a classe helper do que eu já tentei fazer para conseguir...

package com.example.ppsantos.hobby;

import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;

import com.example.ppsantos.hobby.modelo.Esporte;
import com.example.ppsantos.hobby.modelo.Turma;

import java.lang.reflect.Array;

/**
 * Created by PPSANTOS on 28/08/2017.
 */

public class FormularioTurmaHelper {

    private final EditText campoNome;
    private final EditText campoMaxPessoas;
    private final Spinner  campoEsporte;
    private Turma turma;

    public FormularioTurmaHelper(FormularioTurmaActivity activity){

        turma = new Turma();
        campoNome = (EditText) activity.findViewById(R.id.formulario_turma_nome);
        campoMaxPessoas = (EditText) activity.findViewById(R.id.formulario_turma_max);
        campoEsporte = (Spinner) activity.findViewById(R.id.spinner_esportes);
    }

    public Turma pegaTurma() {

        turma.setNome_turma(campoNome.getText().toString()); // OK
        turma.setMax_pesoas_turma(campoMaxPessoas.getText().toString()); // OK

      // Abaixo são as minhas tentativas se resgatar o objeto.
       // turma.setEsporte(campoEsporte.getSelectedItem(new Esporte()));
        //turma.setEsporte(new Esporte(campoEsporte.getChildAt(0)));
        //turma.setEsporte(campoEsporte.getItemIdAtPosition((int) campoEsporte.getSelectedItemId()));
        //turma.setEsporte(campoEsporte.getSelectedItem(int).toString());

        return turma;
    }

    public void preencheFormulario(Turma turma) {
        campoNome.setText(turma.getNome_turma());
        campoMaxPessoas.setText(turma.getMax_pesoas_turma());
        campoEsporte.setSelection((int) campoEsporte.getItemIdAtPosition((int) campoEsporte.getSelectedItemId()));
        //campoEsporte.setSelection(2,true);
        //campoEsporte.setSelection(turma.getEsporte());
        this.turma = turma;
    }
}
2 respostas
solução!

Já resolvi, rsrsrs, faltando um casting.

Boa Paulo :D