Fórum Pegar id de um item no spinner #447037
28/06/2013
0
Como posso recuperar o id de um produto no spinner?
Tenho o spinner.xml com os campos txvNome, txvPreco, txvID.
Preencho o spinner assim:
Spinner spProdutos = (Spinner) findViewById(R.id.spProdutos);
SQLiteDataBase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE", null);
Cursor cursor = db.rawQuery("SELECT * FROM produtos ORDER BY nome ASC",null);
String[] from = { "_id ", "nome", "preco"};
int[] to = {R.id.txvID, R.txvNome, R.id.txvPreco};
SimpleCursorAdapter ad = new SimpleCursorAdapter (getBaseContext(), R.layout.spinner, cursor, from, to);
spProdutos.setAdapter(ad);
Frederico Brigatte***
Curtir tópico
+ 0Posts
28/06/2013
Frederico Brigatte***
Gostei + 0
28/06/2013
Frederico Brigatte***
Gostei + 0
28/06/2013
Frederico Brigatte***
https://www.devmedia.com.br/forum/pegar-id-de-um-item-no-spinner/447037
Ok,vou ver novamente esse código e tentar. Estou precisando de ajuda no tópico do spinner.
Gostei + 0
28/06/2013
Pablo Pinheiro
Não sei se entendi muito bem mas vc pode tentar da seguinte forma
private String[] id;
seuSpinner = (Spinner)findViewById(R.id.idSpinner);
seuEditTex = (EditTex)findViewById(R.id.idEditTex);
seuSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int posicao, long ids){
seuEditTex.setTex(id[posicao])
}
@Override
public void onNothingSelected(AdapterView<?> parent){
}
});
Onde id é um array com os itens que vc buscou em seu banco
Ainda estou aprendendo Android mas espero ter ajudado.
Gostei + 0
28/06/2013
Pablo Pinheiro
Quando quero validar algo assim uso o Toast :D
Exemplo, use
Toast.makeText(this, "id selecionado :" + posicao, Toast.LENGTH_SHORT).show();
no lugar de seuEditTex.setTex(id[posicao])
e veja o número do item selecionado.
Gostei + 0
28/06/2013
Frederico Brigatte***
Gostei + 0
29/06/2013
Frederico Brigatte***
package br.com.spinner;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import java.util.List;
import java.util.ArrayList;
public class SpinnerIdActivity extends Activity {
private Spinner spn1;
private List<String> nomes = new ArrayList<String>();
private String nome;
private String[] id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Adicionando Nomes no ArrayList
nomes.add("João");
nomes.add("Maria");
nomes.add("José");
nomes.add("Paulo");
nomes.add("Adriana");
//Identifica o Spinner no layout
spn1 = (Spinner) findViewById(R.id.spinner1);
//Cria um ArrayAdapter usando um padrão de layout da classe R do android, passando o ArrayList nomes
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, nomes);
ArrayAdapter<String> spinnerArrayAdapter = arrayAdapter;
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spn1.setAdapter(spinnerArrayAdapter);
//Método do Spinner para capturar o item selecionado
spn1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int posicao, long id) {
//pega nome pela posição
nome = parent.getItemAtPosition(posicao).toString();
//imprime um Toast na tela com o nome que foi selecionado
Toast.makeText(SpinnerIdActivity.this, "Nome Selecionado: " + nome, Toast.LENGTH_LONG).show();
Toast.makeText(SpinnerIdActivity.this, "id selecionado :" + posicao, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
Gostei + 0
29/06/2013
Pablo Pinheiro
Uma tela com o spinner
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
E nossa Classe
public class pegaID extends Activity {
private String[] alunos = new String[]{"João","Jose","Pedro","Paulo"}; // Para preencher o spinner
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.tela_teste);
final Spinner spAlunos = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adaptador = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,alunos);
adaptador.setDropDownViewResource(android.R.layout.simple_spinner_item);
spAlunos.setAdapter(adaptador);
spAlunos.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int posicao, long ids){
Toast.makeText(pegaID.this, "ID Selecionado: " + posicao, Toast.LENGTH_SHORT).show();
Toast.makeText(pegaID.this, "Aluno: " + alunos[posicao], Toast.LENGTH_SHORT).show();
//Rertorna o conteudo da Srtring[] alunos na posição selecionada
}
@Override
public void onNothingSelected(AdapterView<?> parent){
}
});
}
}
Gostei + 0
29/06/2013
Frederico Brigatte***
frederico.brigatte@gmail.com
Skype:
frederico.brigatte@itelefonica.com.br
me add ai, to online.
Gostei + 0
29/06/2013
Frederico Brigatte***
Gostei + 0
29/06/2013
Pablo Pinheiro
Gostei + 0
29/06/2013
Frederico Brigatte***
Gostei + 0
29/06/2013
Frederico Brigatte***
Gostei + 0
29/06/2013
Frederico Brigatte***
id = 1
nome = a
id = 2
nome = b
id = 3
nome = c
Exemplo:
Selecionei o nome b no spinner e me mostrar o id = 2.
Gostei + 0
29/06/2013
Frederico Brigatte***
Spinner spn = (Spinner) findViewById(R.id.spinner1);
String nomeString = Procurar.getText().toString();
Cursor cursor;
db.open();
cursor = db.getClientePorNome(nomeString);
cursor.moveToFirst();
SimpleCursorAdapter adaptador = new SimpleCursorAdapter(this, R.layout.mostrabanco, cursor, new String[] {DbAdapter.KEY_NOME}, new int[] {R.id.lblCampo1});
spn.setAdapter(adaptador);
spn.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int posicao, long ids) {
Toast.makeText(Lista.this, "ID Selecionado: " + posicao, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)