会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
sfshine
博客园
首页
新随笔
联系
订阅
管理
Android基础-----Progress Dialog
ProgressDialog 是Android中很常用的处理后台线程显示前台界面的工具
import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; public class TestProgressDialog extends Activity { private ProgressDialog dialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); dialog = new ProgressDialog(this); dialog.setMessage("运行中..."); dialog.setIndeterminate(false); dialog.setCancelable(true); Button bt1=(Button)findViewById(R.id.button1); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub dialog.show(); Thread thread = new Thread(new ThreadDemo());//开始线程,程序后台,前台是dialog thread.start(); } }); } final Handler handle = new Handler() { @Override public void handleMessage(Message msg) { if(dialog!=null) { dialog.dismiss(); } if( msg.what>0 ) { Toast.makeText(TestProgressDialog.this, "线程成功结束", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(TestProgressDialog.this, "线程出现意外", Toast.LENGTH_SHORT).show(); } } }; Handler endSessionHandle = new Handler() { @Override public void handleMessage(Message msg) { finish(); } }; class ThreadDemo implements Runnable { public void run() { int what = -1; try { for (int i=0;i<10;i++) { Thread.sleep(1000);//10秒的dialog显示 if (i==9) {what=1;//走完之后信号置1 } } } catch (Exception e) { e.printStackTrace(); Log.e("WeiboPub", e.getMessage()); } handle.sendEmptyMessage(what); } } }
posted @
2012-03-06 12:42
sfshine
阅读(
227
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告