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 to share
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 to share