已有101人关注
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是什么意思?
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2013-04-17
沙发
1.Void是一个不可实例化的占位符类,它保持一个代表Java关键字void的Class对象的引用。
Integer是整型包装类。
LinearLayout是android的线性布局对象。
2.是Java中可变参数的用法。
3.代表第一个参数值*2500用于动态更新最新进度。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照