Android: how to get id of spinner item using ArrayAdapter

My counter is loaded with some posts, each post has its own id,

public class Message {
    private String id;
    private String message;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }

     @Override
     public String toString() {          
         return  message;
     }
}

      

I am passing this message

to Arrayadapter,

   protected List<Message> messages = null;
    ArrayAdapter <Message> arrayadapter = new ArrayAdapter<Message>( activity,android.R.layout.simple_spinner_item,messages);               
                        arrayadapter.setDropDownViewResource(R.layout.textview);
 spinner1.setAdapter(arrayadapter); 

      

Now, how can I choose the ID of this particular post? can i do this with an array. Any help is appreciated

+3


source to share


2 answers


spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view,
                int pos, long id) {
            Message mSelected = (Message) parent.getItemAtPosition(pos);
            Log.i("Id:", mSelected.getId());

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub
            Log.i("Message", "Nothing is selected");

        }


    });

      



+6


source


You have to set on the client the listener for the element on the spinner:



    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        Object item = parent.getItemAtPosition(pos);
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

      

+1


source







All Articles