2011-11-24 2 views
1

나는 시간 초과 이벤트로 백그라운드에서 실행중인 서비스를 가지고 있습니다. 5 분마다 새로운 데이터 목록을 다운로드하고 arrayadapter (주 활동의 AutoComplete Textview 상자에 사용됨)를 업데이트하려고합니다. 어떻게해야합니까? 아니면 서비스에서 수행 할 수없는 경우?백그라운드에서 Android 업데이트 arrayadapter 데이터 서비스

는 내가 텍스트 뷰 공공 정적을 직접 어댑터 설정을 시도했지만이 프로그램은 그 라인이

감사합니다 "Looper.prepare를 호출하지 않은 스레드"에서 수행 할 수 없다는 충돌합니다.

+0

당신은 당신이 그것을 어떻게 시도하는지 몇 가지 코드를 추가해야합니다. –

+0

@James Gu - 제 대답을보세요, 당신이 그걸로 당신 작품을 얻을 수 있기를 바랍니다. – user370305

답변

1

NON-UI 스레드에서 UI를 업데이트하십시오. runOnUiThread()을 사용하고, runOnUiThread() 안에 UI를 업데이트하는 내용을 넣어보세요. 당신이 서비스에서 업데이트하는 경우

UPDATE

하는 대신 ACTIVITY_NAME의 컨텍스트를 사용해야합니다.

Activity_name.this.runOnUiThread(new Runnable() { 

      @Override 
      public void run() { 
       // here you can add stuff to Update the UI. 
      } 
     }); 
+0

예를 보여 주실 수 있습니까? 감사! –

+0

업데이트 된 답변을 확인하고 내가 시도하고있는 것을 알려주는 코드를 추가하십시오. –

+0

완벽하게 작동했습니다! 감사! –

관련 문제