Spinner getselecteditem с карты
public void QuerySQL_Process (String SQLCMD) {
ResultSet rs;
try{
Statement statement = connect.createStatement();
rs = statement.executeQuery(SQLCMD);
//CONFIGURAR O SIMPLE ADAPTER
List<Map<String, String>> data = null;
data = new ArrayList<Map<String,String>>();
//RESULTSET, TODOS OS REGISTROS
while(rs.next()){
Map<String, String> datanum = new HashMap<String, String>();
datanum.put("A", rs.getString("id_process"));
datanum.put("B", rs.getString("name"));
data.add(datanum);
}
String[] from = {"A", "B"};
int[] cb_process = {R.id.tId_Process, R.id.tProcessName};
//MODELO LAYOUT
AD = new SimpleAdapter(this, data, R.layout.model_process, from, cb_process);
//CARREGAR SPINNER PROCESSOS COM OS DADOS DO BANCO
PROCESS.setAdapter(AD); //PROCESS SPINNER
}catch (Exception e){
Log.e("ERROR: ",e.getMessage());
}
}
EXECUTE.setOnClickListener (new OnClickListener () {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//QUANTIDADE DE ATENDIMENTOS
Toast toast = Toast.makeText(getApplicationContext(),"Process: "+PROCESS.getSelectedItem()+"\nQuantidade de Atendimentos: "+ quantidade, Toast.LENGTH_LONG);
toast.show();
}
});
Попробовал этот код "onItemSelected", но выбранная строка возвращает "null".
PROCESS.setOnItemSelectedListener (new OnItemSelectedListener () {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
selected = (String) data.get(PROCESS.getSelectedItemPosition()).get("name");
Toast toast = Toast.makeText(getApplicationContext(),"Process: "+selected, Toast.LENGTH_LONG);
toast.show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
Привет, я хочу знать, как я получаю "id_process" или "имя" из Toast(PROCESS.getSelectedItem()), используя приведенный выше код, возвращаем следующее: Процесс: {A=1, B=SOLICITADOS} возвращает возвращение карты. Я хочу знать, как восстановить id_process или имя.
Спасибо
1 ответ
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Map<String, String> tmp = (Map<String, String>) PROCESS.getSelectedItem();
Toast toast = Toast.makeText(getApplicationContext(),"Process: "+tmp.get("A"), Toast.LENGTH_LONG);
toast.show();
}
но приведенный выше код верен, за исключением того, что вы должны использовать "A" вместо "name"
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
selected = (String) data.get(PROCESS.getSelectedItemPosition()).get("A");
Toast toast = Toast.makeText(getApplicationContext(),"Process: "+selected, Toast.LENGTH_LONG);
toast.show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}