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

    }
Другие вопросы по тегам