ProgressDialog
[功能]
鉴于很多人对ProgressDialog 的使用不是太熟悉 导致在此浪费了太多时间 而不喜欢使用 更加剧了这个问题
所以决定写这篇:ProgressHelper 包含了 创建 显示 并关闭 ProgressDialog
[代码 步骤]
1. 创建 ProgressHelper 的构造函数 并传入ProgressDialog 所需的 标题 正文
String title, text;
Context context;
ProgressDialog pd;
public ProgressHelper(Context c,String t,String te){
context = c;
title = t;
text = te;
pd = new ProgressDialog(c);
}
2. 利用上述变量 创建ProgressDialog 并显示之 利用上述变量
public void start(){
pd = ProgressDialog.show(context, "loop from 100 to 0!", "is looping...", true,
false);
}
3. 关闭 ProgressDialog
public void end(){
pd.dismiss();
}
4. 如何使用
public class ProgressHelperUsage extends Activity {
public final static int TASK_LOOP_COMPLETE = 0;
ProgressHelper ph;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ph = new ProgressHelper(this, "loop from 100 to 0", "is looping...");
findViewById(R.id.button).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
ph.start();
Thread loop = new Thread(new TaskLoop());
loop.start();
}
});
}
public class TaskLoop implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
loop(5000);
message.sendEmptyMessage(TASK_LOOP_COMPLETE);
}
}
public void loop(long i){
long j = i;
while(j>0){
Log.d("tag",j+"");
j = j-1;
}
}
private Handler message = new Handler(){
public void handleMessage(Message msg) {
switch(msg.arg1){
case TASK_LOOP_COMPLETE:
ph.end();
break;
}
}
};
}
5. emulator 运行截图:
done!