2014-03-27 126 views
0

我需要从我的asynctask更新textView。我有一个自定义适配器的列表视图,在那里我想为每个条目倒计时。我将从适配器启动每个条目的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

你可以做这样的事情(这将添加一个条目到列表视图每隔一秒)。我用普通的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(); 
    } 
}