Web サービスからデータを取得し、それらを sqlite に格納してグリッドに表示します。データにはアイテム ID、アイテム名、アイテム画像が含まれています。アイテムをクリックすると、sqlite からアイテムの ID を取得したいと考えています。アイテムの位置と一緒にグリッド!! どうやってやるの ?
私のコードは::
gridView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
System.err.println("cache_id=="+id);
System.err.println("position=="+position);
Intent i = new Intent(getApplicationContext(), BookContent.class);
i.putExtra("id", position);
System.err.println("this is item id::"+v.getId());
startActivity(i);
}
});
私のimageAdapterクラスは::
private class ItemsAdapter extends BaseAdapter implements ListAdapter
{
String[] items;
public ItemsAdapter(Context context,int textViewResourceId,String[] items)
{
this.items = items;
}
public View getView( int POSITION, View convertView,ViewGroup parent)
{
TextView cap = null ;
View view = convertView;
ImageView img = null;
if (view == null)
{
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.grid, null);
}
img = (ImageView) view.findViewById(R.id.image);
cap = (TextView) view.findViewById(R.id.caption);
String bookTitle = mapNames.get(POSITION);
cap.setText(mapNames.get(POSITION));
img.setImageBitmap(BitmapFactory.decodeByteArray(map.get(POSITION), 0, map.get(POSITION).length));
return view;
}
public int getCount()
{
return items.length;
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
}