У меня есть проблема, которую я не могу решить на данный момент, эта проблема может быть очень простой для некоторых из вас, но я действительно не могу продолжать дальше.
Я временно храню объекты из базы данных в массиве List и могу отображать эти объекты в своем приложении в виде списка. Однако мне нужно передать только пункт, выбранный щелчком, в другое действие.
Я попытался передать это следующим образом.
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent,
View view,int position, long id) {
// TODO Auto-generated method stub
Intent in = new Intent(getApplicationContext(),
Property.class);
in.putExtra("temp_image", image);
in.putExtra("temp_identifier", identif);
in.putExtra("temp_bedrooms", bedrooms);
in.putExtra("temp_address", address);
in.putExtra("temp_propType", propType);
startActivity(in);
}});
И получение от другой Деятельности
identif = getIntent().getExtras().getStringArrayList("temp_identifier");
bedrooms = getIntent().getExtras().getStringArrayList("temp_bedrooms");
address = getIntent().getExtras().getStringArrayList("temp_address");
propType = getIntent().getExtras().getStringArrayList("temp_propType");
image = getIntent().getExtras().getParcelable("temp_image");
img = (ImageView) view.findViewById(R.id.image);
img.setImageBitmap(BitmapFactory.decodeByteArray(
image.get(POSITION), 0,
image.get(POSITION).length));
Выполнение вышеизложенного имеет два недостатка.
1) Возвращает объекты списка массивов (только текст)
2) Я не могу передать изображение
Как показать только выбранный элемент списка массивов и отобразить его в другом упражнении.
Отредактированная версия: сильный текст
**Here is how i'm querying the images!**
private void getDataAndPopulate() {
// TODO Auto-generated method stub
image = new ArrayList<byte[]>();
identif = new ArrayList<String>();
price= new ArrayList<String>();
bedrooms= new ArrayList<String>();
address= new ArrayList<String>();
propType= new ArrayList<String>();
Cursor cursor = getEvents(" gall,properties where properties._id =
gall._id " );
//Select* from gall,properties where properties.propertyId = gall.GallId
while (cursor.moveToNext()) {
String temp_id = cursor.getString(0);
byte[] temp_image = cursor.getBlob(2);
String temp_identifier = cursor.getString(1);
String temp_price = cursor.getString(3);
String temp_bedrooms = cursor.getString(4);
String temp_address = cursor.getString(5);
String temp_propType = cursor.getString(6);
image.add(temp_image);
identif.add(temp_identifier);
price.add(temp_price);
bedrooms.add(temp_bedrooms);
address.add(temp_address);
propType.add(temp_propType);
}
и getDataAndPopulate () равен
private Cursor getEvents(String table) {
SQLiteDatabase db = (placeData).getReadableDatabase();
Cursor cursor = db.query(table, null, null, null, null, null, null);
return cursor;
}
Здесь я подношу их к адаптеру.
String[] identifierArray = (String[]) identif.toArray(new String[identif
.size()]);
ItemsAdapter itemsAdapter = new ItemsAdapter(Result.this,
R.layout.item, identifierArray);
setListAdapter(itemsAdapter);
Заранее спасибо