ProgressDialog使用

本文提供了一个使用 Android 中 ProgressDialog 的示例代码。通过一个按钮点击事件触发进度对话框,并演示了如何更新进度条直到达到最大值。此外,还介绍了解决横竖屏切换时进度条重置问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class ProgressDialogTest extends Activity{ private static final int MAX_NUMBER=100; private int currentProgress=0; Button button; ProgressDialog progressDialog; Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.progress); button=(Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { showDialog(1); currentProgress=0; progressDialog.setProgress(0); handler.sendEmptyMessage(0); } }); handler=new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); if (currentProgress>=MAX_NUMBER) { progressDialog.dismiss(); }else { currentProgress++; progressDialog.incrementProgressBy(1); handler.sendEmptyMessageDelayed(0, MAX_NUMBER); } } }; } @Override protected Dialog onCreateDialog(int id) { progressDialog=new ProgressDialog(ProgressDialogTest.this); progressDialog.setIcon(R.drawable.icon); progressDialog.setMax(MAX_NUMBER); progressDialog.setTitle("ProgressDialog"); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressDialog.setButton("OK", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); return progressDialog; } }

在AndroidManifest加上android:configChanges="locale|keyboardHidden|orientation",就不会出现横竖屏的时候进度条终止的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值