[Android]Must be called from main thread of fragment host |에러
java.lang.IllegalStateException: Must be called from main thread of process
안드로이드 에러 이번내용은 위와 같다.
FATAL EXCEPTION: Thread-11 java.lang.IllegalStateException: Must be called from main thread of process at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1392) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431) at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:160) at android.support.v4.view.ViewPager.populate(ViewPager.java:804) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:433) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:405) at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:397) at com.lyansoft.music_visualizer.MusicVisualizerActivity.changePageFromActivity(MusicVisualizerActivity.java:144) at com.lyansoft.music_visualizer.ShuffleThread.run(ShuffleThread.java:38)
위내용을 살펴보니 메인스레드에서 어쩌구저쩌구 이러는것 같다.
※해결방법
act.runOnUiThread(new Runnable() {
@Override
public void run() {
//에러나는 부분 입력!!!
}
});
안드로이드 안의 UI가 변경되고 있는 도중 어떠한 상황이 발생하여 생긴 오류로 파악된다.
위와 같이 사용을 하면
Must be called from main thread of fragment host
에러를 해결 할수있다!