3

我的微调器加载了一些消息,每条消息都有自己的 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;
     }
}

我将其传递message给 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); 

现在我怎样才能获得选定的特定消息的 id?我可以用 arrayadapter 来做吗?感谢任何帮助

4

2 回答 2

10
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");

        }


    });
于 2013-02-19T12:55:28.510 回答
1

您应该在微调器上设置项目单击侦听器:

    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) {
    }
});
于 2013-02-19T12:33:50.307 回答