Amigo,
Acredito que a melhor forma é você pegar esse id tratar esse dado em um método com uma query que retorne seu select com o dado que procura :-)
Vou fazer dessa forma o meu, abraços
Em 03/02/2012 18:41, "Janes Roberto da Costa" <kadoshmt2@gmail.com> escreveu:
Olá pessoal,
Estou iniciando meus estudos com o Android e gostaria de uma ajuda.
Fiz um Adapter extendendo um CursorAdapter para preencher uma lista personalizada.
Agora gostaria de saber como faço para relacionar cada item da lista à id do registro da base de dados.
A idéia é recuperar a id do item pressionado para exibir uma Activity com mais informações.
O código do Adapter é este:
package br.com.jdroid.feriados.Adapter;
import br.com.jdroid.feriados.R;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class AnniversariesAdapter extends CursorAdapter{
private LayoutInflater mInflater;
private int mRowIdIndex;
private int mTitleIndex;
private int mDayIndex;
private int mMounthIndex;
private int mCategoryIndex;
public AnniversariesAdapter(Context context, Cursor c) {
super(context, c);
mRowIdIndex = c.getColumnIndex(FeriadosDbAdapter.KEY_ROWID);
mTitleIndex = c.getColumnIndex(FeriadosDbAdapter.KEY_TITLE);
mDayIndex = c.getColumnIndex(FeriadosDbAdapter.KEY_DAY);
mMounthIndex = c.getColumnIndex(FeriadosDbAdapter.KEY_MONTH);
mCategoryIndex = c.getColumnIndex(FeriadosDbAdapter.KEY_CATEGORY);
mInflater = LayoutInflater.from(context);
}
@Override
public void bindView(View view, Context context, Cursor c) {
//ListView v = (ListView) view.findViewById(R.id.);
ImageView image = (ImageView) view.findViewById(R.id.calendar_icon);
TextView title = (TextView) view.findViewById(R.id.title);
TextView abbrev = (TextView) view.findViewById(R.id.abbrev);
int cat = c.getInt(mCategoryIndex);
if (cat == 1) image.setImageResource(R.drawable.ic_calendar);
if (cat == 2) image.setImageResource(R.drawable.ic_calendar_2);
title.setText(c.getString(mTitleIndex));
abbrev.setText(c.getString(mDayIndex) + "/" + c.getString(mMounthIndex));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return mInflater.inflate(R.layout.dates_row, null);
}
}
E o Activity principal da aplicação é este:
package br.com.jdroid.feriados;
import br.com.jdroid.feriados.R;
import br.com.jdroid.feriados.Adapter.AnniversariesAdapter;
import br.com.jdroid.feriados.Adapter.FeriadosDbAdapter;
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
public class ListAnniversariesActivity extends ListActivity {
private FeriadosDbAdapter mDbHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_dates);
mDbHelper = new FeriadosDbAdapter(this);
mDbHelper.open();
fillData();
}
private void fillData() {
Cursor datesCursor = mDbHelper.fetchAll();
startManagingCursor(datesCursor);
AnniversariesAdapter adapter = new AnniversariesAdapter(this, datesCursor);
setListAdapter(adapter);
}
}






0 comentários:
Postar um comentário