Boa tarde!
Preciso implementar o método onItemClick de uma ListView para recuperar algumas informações que não estão na view (mas que podem ser encontradas por algo que está na View) e enviar como Extra para a próxima Activity que será aberta. Algo parecido com isso:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
String pen = o.toString();
Toast.makeText(this, "You have chosen the pen: " + " " + pen, Toast.LENGTH_LONG).show();
}
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
String pen = o.toString();
Toast.makeText(this, "You have chosen the pen: " + " " + pen, Toast.LENGTH_LONG).show();
}
Essa ListView é preenchida por um Adapter. Segue o contrutor e o getView do adapter:
public AdapterListAgenda(Context context, ArrayList<Agenda> agendas) {
this.agendas = agendas;
this.context = context;
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View view, ViewGroup parent) {
Agenda agenda = getItem(position);
view = mInflater.inflate(R.layout.agenda_item, null);
((TextView) view.findViewById(R.id.agenda_item_txt_date)).setText(agenda.data);
return view;
}
Qual a melhor maneira de fazer isso para o onItemClick de uma ListView?
lstAgendas.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String data = ((TextView) arg1.findViewById(R.id.agenda_item_txt_date)).getText().toString();
}
});
Atualmente, como eu consigo recuperar a data da Agenda (que é o que já esta na View), eu faço uma busca no banco interno a partir dessa data. Acredito que essa não seja a melhor solução, a medida em que o volume de dados crescer, etc..
Existe alguma maneira de eu recuperar o id, por exemplo, sem precisar uma busca no banco?
Att,
Gabriel Augusto
013 97940055
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário