2015-01-30 2 views
0

Я хочу принять меры после завершения операции с настройкой. Что мне нужно не просто писать код после всего остального в activiy, поскольку некоторые меры дисплея должно быть сделано, и мне нужно вычислить только после того, как активность полностью настроить/Принять меры после завершения настройки активности

Я попытался с помощью

final ViewTreeObserver observer = mainLayout.getViewTreeObserver(); 
    observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 

     @Override 
     public void onGlobalLayout() { 
      //whatever I want to do... 
} 
}); 

это сделало работу, но это сделало мое приложение к сбою только с

` `"01-30 14:21:55.615: A/libc(4867): Fatal signal 11 (SIGSEGV) at 0x00022588 (code=1), thread 4867 (m.fgdvir.ezlist)" 

в журнале ошибок

мольбы помочь! спасибо

+0

Попробуйте это http://developer.android.com/reference/android/os/MessageQueue.html#addIdleHandler(android.os.MessageQueue.IdleHandler) – pskink

ответ

0

Вы можете поместить код в onResume(), который возвращается к вашей деятельности после того, как пользовательский интерфейс настроен, и Пользователь может взаимодействовать с ним.

@Override 
public void onResume() { 
    super.onResume(); 
    // ... code goes here 
} 
+0

Нет. Это не решает мою проблему. –

0

ИТАК после некоторого копания, я заметил, что мое решение было верно (не уверен, если это лучший способ, но он работал для меня), но у меня было 1, чего не хватает - после вызова onGlobalLayouLtListener I необходимо, чтобы удалить прослушиватель. поэтому код, который я использую, который работает как folowing:

final ViewTreeObserver observer = view.getViewTreeObserver(); 
     observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 

      @Override 
      public void onGlobalLayout() { 
       view.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
       //The things I need to be done after activity setup is finished. 

      } 

     }); 

кстати - я заметил, что идентификатор действительно dosn't РАЗНИЦА, рассматривающих в деятельности, я прилагаю к OnGlobalLayoutListener, вы действительно можете выбрать, какие когда-либо Ты бы хотел.

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