2015-01-11 2 views
1

вопрос может быть немного очевидным, но вот ситуация:Как отобразить изображение в LayoutInflater

В моем приложении (GoogleMaps v2) У меня есть пользовательский маркер, который имеет вид изображения (изображение, полученное от намерения камеры). Поэтому я сохранил всю информацию, необходимую для загрузки изображения снова, как только приложение перезагрузится в базе данных SQlite. Но проблема в том, что при попытке загрузить изображение в наставник Layout ничего не отображается, однако, когда я создаю Imageview в своей активности (т. Е. Не в разводке макета), тогда изображение отображается, но, очевидно, над картой, я хочу.

Так вот мой код для загрузки изображения в ImageView При возврате из намерения камеры (это работает)

@Override 
    public View getInfoContents(Marker marker) 
    { 
    View v = getLayoutInflater().inflate(R.layout.infowindow_layout, null); 
    ImageView markerIcon = (ImageView) v.findViewById(R.id.PicView); 
Bitmap bitmap = myMarkersHash.get(marker.getId()); 
markerIcon.setImageBitmap(bitmap); 

Тогда при попытке загрузить из базы данных в качестве приложения перезагружается:

filep = arg1.getString(arg1.getColumnIndex(LocationsDB.FIELD_FILEPATH)); 
.... 
View view = getLayoutInflater().inflate(R.layout.infowindow_layout, null); 
ImageView image = (ImageView) view.findViewById(R.id.PicView); 
Bitmap myImage = BitmapFactory.decodeFile(filep); 
image.setImageBitmap(myImage); 

затем ничего не отображается

Может ли кто-нибудь сказать мне, почему изображение не отображается? PS Нет сообщений об ошибках или что-то еще, что я могу добавить к этому вопросу.

+0

ли вы проверить Филеп возвращает правильное значение? Где файловый файл используется в вашем коде? –

ответ

0

Если вы храните путь к файлу в Филеп, то оно должно быть:

Bitmap myImage = BitmapFactory.decodeFile (Филеп);

В ответ на мой комментарий ниже, вы можете попробовать добавить опцию конфигурации ARGB_8888, чтобы сохранить файл, например:

filep = arg1.getString(arg1.getColumnIndex(LocationsDB.FIELD_FILEPATH)); 
.... 
View view = getLayoutInflater().inflate(R.layout.infowindow_layout, null); 
ImageView image = (ImageView) view.findViewById(R.id.PicView); 
BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
Bitmap myImage = BitmapFactory.decodeFile(filep, options); 
image.setImageBitmap(myImage); 
+0

Извините, что это плохо, это была опечатка, я немного изменил код, но ничего не отобразил. – Newbie

+0

Исправил свою опечатку в вопросе. – Newbie

+0

По-видимому, у других были проблемы при извлечении из SD-карт, если это так в вашем приложении. См. Это сообщение: http://stackoverflow.com/questions/8710515/reading-an-image-file-into-bitmap-from-sdcard-why-am-i-getting-a-nullpointerexc –

Смежные вопросы