Setar a posição do Adapter em um Spinner através do Id

Pessoal

Estou com uma dúvida, acredito que ou seja muito fácil e estou realmente marcando bobeira.

Estou carregando um Spinner com um SimpleCursorAdapter:

dataAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursorTipoPedido, camposTipoPedido, new int[] {android.R.id.text1}); dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinTipoPedido.setAdapter(dataAdapter);

No meu banco de dados SQLite, eu gravo o Id:

Como eu posso na hora de carregar este mesmo pedido, eu não tenho a posição.
Mas eu tenho o meu Spinner em tela com o Adapter carregado.
Setar o conteúdo do Spinner no caso a posição do Item que eu quero através do Id que eu armazenei no meu banco de dados?

É possível? Ou vocês costumam armazenar a posição mesmo?

Obrigado desde já.

Voce vai ter que dar um list.indexOf(objeto) para ir para a posição que voce quer.

Marky desculpa a ignorância, mas eu não entendi exatamente.

Quando eu vou carregar um pedido, eu tenho o código que eu gravei anteriormente.

Eu tenho um objeto Pedido que tem um atributo TipoPedido que é um objeto TipoPedido.

Então quando eu vou carregá-lo, por exemplo ele me retorna 2 que é código do TipoPedido que eu selecionei na gravação.

Eu andei procurando na internet, encontrei diversos links onde o pessoal disse que resolve fazendo 1 loop e verificando:

[code]long tipoPedido = pedido.getTipoPedido().getCodigo();

for (int i = 0; i < spinTipoPedido.getCount(); i++) {
long itemIdAtPosition2 = spinTipoPedido.getItemIdAtPosition(i);
if (itemIdAtPosition2 == tipoPedido) {
spinTipoPedido.setSelection(i);
break;
}
}[/code]

Mas acho que é totalmente desnecessário isso, só vai fazer um consumo de processamento desnecessário. Apenas para carregar um Spinner.

Obrigado desde já.