2014-01-22 3 views
0

Я получаю это исключение, пытаясь отобразить диалоговое окно в android. Я нашел в некоторых сообщениях, что я должен проверить значениеИсключение BadToken, даже если активность запущена

isFinishing() 

, чтобы проверить, будет ли деятельность завершена. Но я всегда получаю значение как «ложное» от этой функции.

Это означает, что деятельность запущена. Но я все еще получаю исключение

android.view.WindowManager$BadTokenException: Unable to add window 

Может ли любое тело помочь мне решить эту проблему.

Вот мой код

final Dialog dialog = new Dialog(ThirdTab.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.alertview); 
    dialog.setTitle("text"); 

    Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 

    dialogButton.setOnClickListener(new OnClickListener() 
    { 
    @Override 
    public void onClick(View v) 
     {      
     dialog.dismiss(); 
     } 
    } 
    ); 
    runOnUiThread 
     (
      new Runnable() 
      { 

     @Override 
     public void run() 
       { 
         // TODO Auto-generated method stub 
      if(!ThirdTab.this.isFinishing()) 
      { 
       dialog.show(); 
      } 
     } 
     } 
     ); 
+0

Опубликуйте код, используемый для отображения Диалога. –

+0

, поскольку вы проверяете, заканчивается ли в потоке. возможно, что, когда поток работает, он держит n, давая false – krishna

+0

@krishna, что мне нужно изменить –

ответ

1

Я нашел решение. Это происходит потому, что моя активность находится внутри операции вкладок. Вот почему функция isFinishing() возвращает false и возникает Исключение.

Благодарю вас всех, кто ответил на этот вопрос.

+0

+1 для отправки ответа. – GrIsHu

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