2011-09-21 5 views
0

내 응용 프로그램에서 서버의 일부 이미지를로드하는 위협이 있습니다. 이미지를 다운로드하면 대화 상자에 이미지가 표시됩니다. 이 작동하지만, 사용자가 다시 버튼을 통해 화면을 떠나면, 내 응용 프로그램이 로그 캣 출력과 충돌한다 : 사용자 정의 대화 상자를 만드는 (앱이 이전 활동까지 실행대화 상자에서 내 응용 프로그램이 작동하지 않습니다.

09-21 09:54:14.553: ERROR/AndroidRuntime(486): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 

아래의 코드를 호출).

충돌이 있음을 알았습니다. 이미지를 다운로드 한 후 처리기를 호출합니다. 처리기에서 다음을 수행합니다.

 final Dialog dialog = new Dialog(Product.this); 
    dialog.setContentView(R.layout.imageview_inflator); 
    dialog.setTitle("Choose a Picture"); 
    dialog.setCancelable(true); 

    // set up image view 
    final ImageView img = (ImageView) dialog.findViewById(R.id.imageView); 
    img.setImageBitmap(ImageLoader.cache.get(pic_url[pictureCounter])); 


    dialog.show(); 

어떻게 충돌을 피할 수 있습니까? 나는 액티비티가 실행 중이 아닌 경우 어떻게 든 대화 상자를 표시하지 않아야한다고 생각합니다.

+0

해당 코드에 오류가 있습니다. ''그림 선택 '뒤에'''을 넣는 것을 잊어 버렸습니다. – Behrang

+0

사실이긴하지만 오타였습니다. 내 게시물을 편집했습니다 – tobias

+0

뒤로 버튼을 눌렀을 때 당신이하고있는 일을 코드로 게시하십시오. –

답변

1

활동을 떠날 때이 오류 bcoz가 발생합니다. 스레드가 여전히 실행 중이며 처리기를 호출하여 대화 상자를 표시하고 대화 상자에 표시 할 수있는 활동이 없습니다.

try-catch 안에 대화 코드를 넣으면 응용 프로그램이 중단되는 것을 피할 수 있습니다.

+0

나는 그것을 시도하고 있습니다 !! – tobias

관련 문제