Editar um Spinner gravado no Banco!

Estou tentando editar algumas informações de um produto cadastrado no banco de dados, só que o problema é o seguinte: todas as informações em “String” eu consigo manipular de boa, só tenho uma informação que foi recuperada através de um “Spinner”, na verdade não estou conseguindo Setar ela com o “setText” como as “String’s”, segue a baixo o código:

public class EditarProduto extends AppCompatActivity {

private DBHelper bd;
private Spinner spnUMedida;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.editar_produto);

    Intent intent = getIntent();
    final int id = intent.getIntExtra("ID",0);
    bd = new DBHelper(this);
    Produto produto = bd.getProduto(id);

    /*ArrayAdapter adapterUM = ArrayAdapter.createFromResource (this,R.array.unidade_medida, android.R.layout.simple_spinner_item);
    spnUMedida.setAdapter(adapterUM);*/

    final EditText edtDescricao = (EditText) findViewById(R.id.edtDescricao);
    final EditText edtCategoria = (EditText) findViewById(R.id.edtCategoria);
    final Spinner spnUMedida = (Spinner) findViewById(R.id.spnUMedida);
    final EditText edtVCusto = (EditText) findViewById(R.id.edtVCusto);
    final EditText edtVVenda = (EditText) findViewById(R.id.edtVVenda);
    final EditText edtEAtual = (EditText) findViewById(R.id.edtEAtual);
    final EditText edtEMinimo = (EditText) findViewById(R.id.edtEMinimo);

    edtDescricao.setText(produto.getDescricao());
    edtCategoria.setText(produto.getCategoria());
    spnUMedida.setText(produto.getUnidadeMedida());
    edtVCusto.setText(produto.getValorCusto());
    edtVVenda.setText(produto.getValorVenda());
    edtEAtual.setText(produto.getEstoqueAtual());
    edtEMinimo.setText(produto.getEstoqueMinimo());
    //edtMatricula.setText(String.valueOf(aluno.getMatricula()));

    final Button btnExcluir = (Button) findViewById(R.id.btnExcluir);
    btnExcluir.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Produto produto = new Produto();
            produto.setId(id);
            bd.deleteProduto(produto);
            edtDescricao.setText("");
            edtCategoria.setText("");
            edtVCusto.setText("");
            edtVVenda.setText("");
            edtEAtual.setText("");
            edtEMinimo.setText("");
            btnExcluir.setEnabled(false);
            Toast.makeText(getBaseContext(), "Produto removido com sucesso.", Toast.LENGTH_SHORT).show();

            Intent i = new Intent(EditarProduto.this, Produtos.class);
            startActivity(i);
        }
    });

    final Button btnAlterar = (Button) findViewById(R.id.btnAlterar);
    btnAlterar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Produto produto = new Produto();
            produto.setId(id);
            produto.setDescricao(edtDescricao.getText().toString());
            produto.setCategoria(edtCategoria.getText().toString());
            produto.setValorCusto(edtVCusto.getText().toString());
            produto.setValorVenda(edtVVenda.getText().toString());
            produto.setEstoqueAtual(edtEAtual.getText().toString());
            produto.setEstoqueMinimo(edtEMinimo.getText().toString());
            bd.updateProduto(produto);
            Toast.makeText(getBaseContext(), "Produto alterado com sucesso.", Toast.LENGTH_SHORT).show();

            Intent i = new Intent(EditarProduto.this, Produtos.class);
            startActivity(i);
        }
    });
}

A dificuldade está nessa linha “spnUMedida.setText(produto.getUnidadeMedida());”.

Para setar algum valor ao spinner o método setText é o indicado? Desculpe conheço muito pouco de Android, mas de Java eu sei, por exemplo jComboBox para você inserir valores nele precisa de um DefaultComboBoxModel. Pode ser a mesma coisa para o spinner. Você checou a documentação para ver se é isso mesmo?

Olha entrei na documentação do Android, e no exemplo que tem lá para você colocar alguma coisa nele tem que utilizar um Adapter como um ArrayAdapter, CursorAdapter, ou um SpinnerAdapter. Dá uma olhada.

Tá aqui uma aula sobre spinner. Espero que lhe ajude.