2014-03-27 3 views
0

내 asynctask에서 textView를 업데이트해야합니다. 나는 listview에 대한 사용자 지정 어댑터가 있고 거기에 각 항목에 대한 카운트 다운 싶어. 내 어댑터에서 각 항목에 대해 asynctask를 시작합니다. asynctask에서 매초마다 textview를 어떻게 업데이트 할 수 있습니까? 도움을업데이트 ListView Textview vom Asyntask

감사합니다 :)

+1

안녕하세요! 귀하의 질문에 대한 코드를 게시하려고하면 더 많은 관심을 끌 것이며 사람들은 추측 할 필요가 없습니다! – rupps

답변

1

당신은 당신의 코드를 게시 할 경우, 내가 할 수있는 당신에게 더 나은 대답을주십시오. 그러나보기를 정기적으로 업데이트하는 일반적인 방법은 Handlers을 사용하는 것입니다.

private final Handler mHandler = new Handler(); //intialize in main thread 

public void test() { 
    mHandler.postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      mTextView.setText("hello"); 

     } 
    }, 1000); 
} 
+0

완벽한, 감사합니다 :) – user3384194

0

당신이 뭔가를 (이 목록보기에 항목마다 1 초 추가합니다) 할 수 있습니다. 나는 일반적인 ArrayAdapter를 사용하여 문자열을 추가했다. 사용자 지정 어댑터를 사용하여 유사한 작업을 수행 할 수 있습니다. publishProgress() 메소드는 기본적으로 UI 스레드에 잇는 onProgressUpdate() 메소드를 트리거 및 요소를 추가하기 :

클래스 AddStringTask은 AsyncTask를 확장 표시 {

@Override 
    protected Void doInBackground(Void... params) { 
     for(String item : items) { 
      publishProgress(item); 
      SystemClock.sleep(1000); 
     } 
     return null; 
    } 

    @Override 
    protected void onProgressUpdate(String... item) { 
     adapter.add(item[0]); 
    } 

    @Override 
    protected void onPostExecute(Void unused) { 
     Toast.makeText(getActivity(), "Done adding string item", Toast.LENGTH_SHORT).show(); 
    } 
}