首页上一页 1 下一页尾页 1 条记录 1/1页
Android从入门到精通书中范例4.9-AsyncTask用法
发表在Java图书答疑
2013-03-28
是否精华
是
否
版块置顶:
是
否
class MyTack extends AsyncTask<Void, Integer, LinearLayout> {
@Override
protected void onPreExecute() {
setProgressBarVisibility(true); // 执行任务前让进度条可见
super.onPreExecute();
}
/*
* 功能:要执行的耗时任务
*/
@Override
protected LinearLayout doInBackground(Void... params) {
LinearLayout ll = new LinearLayout(MainActivity.this); // 创建一个水平线性布局管理器
for (int i = 1; i < 5; i++) {
ImageView iv = new ImageView(MainActivity.this);
iv.setLayoutParams(new LayoutParams(245, 108));
iv.setImageResource(imageId[i - 1]);
ll.addView(iv); // 将ImageView添加到线性布局管理器中
try {
Thread.sleep(10); // 为了更好的看到效果,这里让线程休眠10毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress(i); // 触发onProgressUpdate(Progress...)方法更新进度
}
return ll;
}
/*
* 功能:更新进度
*/
@Override
protected void onProgressUpdate(Integer... values) {
setProgress(values[0] * 2500); // 动态更新最新进度
super.onProgressUpdate(values);
}
/*
* 功能:任务执行后
*/
@Override
protected void onPostExecute(LinearLayout result) {
setProgressBarVisibility(false); // 任务执行后让进度条隐藏
l.addView(result); // 将水平线性布局管理器添加到布局文件中添加的垂直线性布局管理器中
super.onPostExecute(result);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
我的问题是:
1、 “AsyncTask<Void, Integer, LinearLayout> ”中的Void, Integer, LinearLayout是什么含义,代表什么?
2、“doInBackground(Void... params)”中的参数:Void... params是什么意思?
3、“setProgress(values[0] * 2500); ”中的:values[0] * 2500是什么意思?
@Override
protected void onPreExecute() {
setProgressBarVisibility(true); // 执行任务前让进度条可见
super.onPreExecute();
}
/*
* 功能:要执行的耗时任务
*/
@Override
protected LinearLayout doInBackground(Void... params) {
LinearLayout ll = new LinearLayout(MainActivity.this); // 创建一个水平线性布局管理器
for (int i = 1; i < 5; i++) {
ImageView iv = new ImageView(MainActivity.this);
iv.setLayoutParams(new LayoutParams(245, 108));
iv.setImageResource(imageId[i - 1]);
ll.addView(iv); // 将ImageView添加到线性布局管理器中
try {
Thread.sleep(10); // 为了更好的看到效果,这里让线程休眠10毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress(i); // 触发onProgressUpdate(Progress...)方法更新进度
}
return ll;
}
/*
* 功能:更新进度
*/
@Override
protected void onProgressUpdate(Integer... values) {
setProgress(values[0] * 2500); // 动态更新最新进度
super.onProgressUpdate(values);
}
/*
* 功能:任务执行后
*/
@Override
protected void onPostExecute(LinearLayout result) {
setProgressBarVisibility(false); // 任务执行后让进度条隐藏
l.addView(result); // 将水平线性布局管理器添加到布局文件中添加的垂直线性布局管理器中
super.onPostExecute(result);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
我的问题是:
1、 “AsyncTask<Void, Integer, LinearLayout> ”中的Void, Integer, LinearLayout是什么含义,代表什么?
2、“doInBackground(Void... params)”中的参数:Void... params是什么意思?
3、“setProgress(values[0] * 2500); ”中的:values[0] * 2500是什么意思?