2013-08-02 2 views
1

после нажатия на кнопку и съемки, я хочу, чтобы отобразить его в ImageView как в следующем примере:новый для Android - не может отображать изображение в ImageView дважды

Bitmap bMap = BitmapFactory.decodeFile(path); 
ImageView myImage1 = (ImageView) findViewById(R.id.ivReturnedPic); 
myImage1.setImageBitmap(bMap); 

Это прекрасно работает первый время, когда вы делаете снимок, изображение отображается на экране. Но если я снова нажму кнопку, чтобы сделать второй снимок, это просто ошибки на телефоне. Эмулятор, похоже, работает нормально, поэтому у меня нет сообщения об ошибке, чтобы поделиться с вами. Как вы думаете, модем ADB может быть полезен в этом случае? Теперь, если я прокомментирую следующий фрагмент кода, нет ошибки:

myImage1.setImageBitmap(bMap); 

Может быть, потому что bMap имеет значение null? Может ли кто-нибудь помочь мне в этом вопросе?

+0

трассировки стека или этого не произошло. –

+0

Проверьте, имеет ли значение 'bMap' значение null перед назначением объекту изображения? – midhunhk

+0

Вы можете отлаживать код при подключении к реальному устройству. Поместите точку останова в начале и шаг за шагом. Вы увидите, что такое null, а что нет. Если вы все еще не можете понять, отправьте остальную часть кода. –

ответ

0
Check if bMap is null or not before assigning to ImageView 

так попробовать этот

Bitmap bMap = BitmapFactory.decodeFile(path); 
ImageView myImage1 = (ImageView) findViewById(R.id.ivReturnedPic); 
if(bMap!=null) 
{ 
    myImage1.setImageBitmap(bMap); 
} 
else 
{ 
Log.d("Checking Bitmap","bMap is null"); 
} 
+0

но что делать, если bMap имеет значение null ... то что? –

+0

ok Я только что вставил код - я все еще ошибся. это означает, что bmap не является нулевым. –

+0

Вы должны использовать TAG для первого параметра журнала, либо тега программы или класса (где-то где-то установить строку константы) –

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