public class HelloanActivity extends Activity implements View.OnClickListener
{
/
//
///
private TextView textView = null;
private ProgressDialog progressDialog = null;
private Handler handler = new Handler(){
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
default:
break;
}
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView)findViewById(R.id.main_TV);
findViewById(R.id.main_button).setOnClickListener(this);
}
public void onClick(View v)
{
try {
new MyTask().execute("aaaaaa");
//注意一个实例只能执行一次
} catch (Exception e) {
e.printStackTrace();
}
}
private class MyTask extends AsyncTask<String, Integer, Integer>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
///UI线程执行
progressDialog = new ProgressDialog(HelloanActivity.this);
progressDialog.setMax(100);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("trest");
progressDialog.show();
textView.setText("onPreExecute");
}
@Override
protected Integer doInBackground(String... params)
{
///非UI线程执行
System.out.println(params[0]);
int progress = 0;
while (progress <100) {
progress++;
publishProgress(progress);
try {
Thread.sleep(100);
} catch (Exception e) {
}
}
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
///UI线程执行
super.onProgressUpdate(values);
progressDialog.setProgress(values[0]);
textView.setText("onProgressUpdate"+values[0]);
}
@Override
protected void onPostExecute(Integer result) {
///UI线程执行
super.onPostExecute(result);
progressDialog.dismiss();
textView.setText("onPostExecute");
}
}
}
简单的AsyncTask使用例子
最新推荐文章于 2024-05-14 15:16:31 发布