2012-01-20 6 views
0

나는 활동이 생성 된 후 몇 초 후에 보이지 않게되거나 사라지게 만들려고합니다. 스레드를 사용하여 나에게시간이 지나면 버튼이 보이지 않게됩니다.

오류가 여기에이 오류 준 :

java.lang.RuntimeException가 : 시작할 수 없습니다

android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 

그럼 내가 처리기를 사용하여 시도를,이 날이 오류를 준 액티비티 ComponentInfo{com.LstSearch/com.LstSearch.BasicMusicView}: java.lang.NullPointerException

그렇다면 runOnUiThread()를 사용해 보았습니다. onCreate()에서이 작업을 실행하면 해당 액티비티가 스레드에서 지정한 시간이 소요되고 많은 시간이 지나면 이미지가 보이지 않게됩니다. 그러나 3 초 후에 활동이 시작되면 이미 이미지가 보이지 않게됩니다. 내가 생각 그래서 내가 여기

handler=new Handler(); 
Runnable r=new Runnable() 
{ public void run() 
{change image } 
}; 
handler.postDelayed(r, 1000); 

건배 편집하고 그들이 나를 나에게 질문에 대답 할 수 없습니다 새 항목으로 솔루션을 발견했다!

+0

코드 및 로그를 게시 할 수 있습니다 ... AsyncTask를 사용하는 것이 좋습니다. –

답변

1

UIThread()에서 보이지 않는 함수를 호출해야하지만 UIThread에서만보기가 가능합니다.

사용자 runonUIthread() 메소드.

+0

의도 한대로 작동하지 않습니다. 오류는 아니지만 코드가 영향을 미치지 않습니다. – arun

+0

3 초 후에 보이지 않게 될 것이므로 화면 왼쪽 하단에 내 이미지를 넣는 방법을 제안 해주십시오. – arun

+0

runOnThread() 내에서이 onCreate() 내에서이 작업을 실행하는 경우 해당 시간이 이미지를 이미 변경 한 후 해당 활동을 시작할 때 많은 시간이 지나면 이미지가 보이지 않게되도록 스레드에서 지정한만큼 시간이 오래 걸립니다. 상태가 – arun

관련 문제