獲取特定的專欄中,我做了一個查詢數據庫中,並返回它,我把一個自定義的適配器上,然後我把一個列表視圖列表內。 直到我使用onItemClikListener工作正常。我想從查詢欄「_id」,我不知道如何做到這一點(我想通過這個ID作爲參數的另一個活動)。 我試圖getItemId從我的自定義適配器,但它返回的列表,而不是列「_id」上的位置。例如: 例如:我的查詢select * where name = x; ID爲1和3返回行......但getItemId使其位置1 =「_ ID1」和2 =「_ ID3」 ......當我通過它沒有其它活動查詢的「_id」返回行1和2;從自定義適配器
//Here i get the item position and pass to another activity
listagem.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1,int position, long id) {
String Column_id = String.valueOf(adapter.getItemId(position));
Intent mostraLetra = new Intent(musica.this.getActivity(), ExibeMusica.class);
mostraLetra.putExtra("id", Column_id);
startActivity(mostraLetra);
}
});
//Here i pass the Id when i click on a item on the list
public String[] exibeMusica(String idMusica){
String r = idMusica;
String[] resultado = {};
Cursor resul = bancodados.query(Tabela_musica, new String[] {"_id", "Musica","Cantor","letra_musica","cat_oracao","cat_missa"}, "_Id = " +r+"", null, null, null, null, null);
resul.moveToFirst();
resultado[0] = String.valueOf(resul.getString(resul.getColumnIndex("_id")));
resultado[1] = resul.getString(resul.getColumnIndex("Musica"));
resultado[2] = resul.getString(resul.getColumnIndex("Cantor"));
resultado[3] = resul.getString(resul.getColumnIndex("letra_musica"));
resultado[4] = resul.getString(resul.getColumnIndex("cat_oracao"));
resultado[5] = resul.getString(resul.getColumnIndex("cat_missa"));
resul.close();
return resultado;
}
//This is my custom adapter
public class CustomAdapter extends BaseAdapter{
LayoutInflater inflater;
List<musica.ItemLista> itens;
public CustomAdapter(Activity a, List<musica.ItemLista> itens) {
super();
this.itens = itens;
this.inflater = (LayoutInflater)a.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
// TODO Auto-generated method stub
return itens.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
musica.ItemLista item = itens.get(position);
View vi = convertView;
if(convertView==null){
vi = inflater.inflate(R.layout.linha_listview, null);
TextView id = (TextView)vi.findViewById(R.linhaLista.id);
TextView musica = (TextView)vi.findViewById(R.linhaLista.musica);
TextView artista = (TextView)vi.findViewById(R.linhaLista.cantor);
ImageView oracao = (ImageView)vi.findViewById(R.linhaLista.cat_oracao);
ImageView missa = (ImageView)vi.findViewById(R.linhaLista.cat_missa);
id.setText(String.valueOf(item.id));
musica.setText(item.musica);
artista.setText(item.cantor);
String imgOra = item.oracao;
String imgMissa = item.missa;
if (imgOra.equals(null)) {
oracao.setImageResource(R.drawable.blank);
}else if(imgOra.equals("louvor")) {
oracao.setImageResource(R.drawable.louvor);
}else if(imgOra.equals("adoracao")) {
oracao.setImageResource(R.drawable.adoracao);
}
if (imgMissa.equals(null)) {
missa.setImageResource(R.drawable.blank);
}else if(imgOra.equals("louvor")) {
missa.setImageResource(R.drawable.louvor);
}else if(imgOra.equals("adoracao")) {
missa.setImageResource(R.drawable.adoracao);
}
}return vi;
}
}
任何人都可以幫助我獲得正確的「_id」?
哇...這救了我的項目......感謝Naeem ......總有一天我會和你一樣好......呵呵......再次感謝。 –