package com.ct.myasync;
import java.util.ArrayList;
import org.apache.http.conn.ManagedClientConnection;
import android.app.ListActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Toast;
public class MainActivity extends ListActivity{
//这里是List Item内容,在这个例子中,将在后台任务中逐个加入
private static String[] items={"lorem", "ipsum", "dolor","sit",
"amet", "consectetuer","adipiscing", "elit", "morbi","vel",
"ligula", "vitae","arcu", "aliquet", "mollis","etiam", "vel",
"erat","placerat", "ante","porttitor", "sodales","pellentesque",
"augue","purus"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,new ArrayList<String>()));
new AsyncAddStringTask().execute();
}
private class AsyncAddStringTask extends AsyncTask<Void, String, Void>{
private void printInfo(String info){
Log.i("WEI", info + " : Tread is " + Thread.currentThread().getName());
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
printInfo("ct test-------------->onPostExecute ");
Toast.makeText(MainActivity.this, "onPostExecute", Toast.LENGTH_LONG).show();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
printInfo("ct test-------------->onPreExecute ");
}
@Override
protected void onProgressUpdate(String... values) {
// TODO Auto-generated method stub
printInfo("ct test-------------->onProgressUpdate "+values[0]);
((ArrayAdapter<String>)getListAdapter()).add(values[0]);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
for(String item:items){
publishProgress(item);
printInfo("ct test-------------->doInBackground ");
SystemClock.sleep(100);
}
return null;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}