Android异步加载数据 AsyncTask demo application

public class TestAsync extends ListActivity {
 private static String[] items = {"1","22","333",
  "4444","55555","6666","777","88", "9","0000", "0001",
  "0002","0003","0004","0005","0006","0007","0008","0009","0010"};
 
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  //setContentView(R.layout.test_async);
  
  setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList()));
  new AddStringTask().execute();
 }

 class AddStringTask extends AsyncTask<Void, String, Void>
 {
  @Override protected void onPreExecute()
  {
   Toast.makeText(TestAsync.this, "Start...", Toast.LENGTH_SHORT).show();
  }
  
  @Override protected Void doInBackground(Void... unused)
  {
   int i = 0;
   while (i < 100)
   {
    for (String item:items)
    {
     publishProgress(item);
     SystemClock.sleep(200);
    }
    i++;
   }
   return (null);
  }
  
  @Override protected void onProgressUpdate(String... item)
  {
   ((ArrayAdapter)getListAdapter()).add(item[0]);
  }
  
  @Override protected void onPostExecute(Void unused)
  {
   Toast.makeText(TestAsync.this, "Done!", Toast.LENGTH_LONG).show();
  }
 }
  
 public void OnclickBtnBack(View btn)
 {
  //Close this Activity
  TestAsync.this.finish();
 } 
 
 public void OnclickBtnAsync(View btn)
 {
  //Close this Activity
  TestAsync.this.finish();
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值