扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇文章为大家展示了Android封装弹出等待框及用于网络请求等延时操作的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了回民免费建站欢迎大家使用!
代码挺简单,话不多说直接贴出
public class ShowProgressDialog {
public static ProgressDialog wait;
public static void show(Context context, String msg) {
wait = new ProgressDialog(context);
//设置风格为圆形
wait.setProgressStyle(ProgressDialog.STYLE_SPINNER);
wait.setTitle(null);
wait.setIcon(null);
//设置提示信息
wait.setMessage(msg);
wait.show();
}
public static void show(Context context, String msg, Thread thread) {
final Thread th = thread;
wait = new ProgressDialog(context);
//设置风格为圆形
wait.setProgressStyle(ProgressDialog.STYLE_SPINNER);
wait.setTitle(null);
wait.setIcon(null);
//设置提示信息
wait.setMessage(msg);
//设置是否可以通过返回键取消
wait.setCancelable(true);
wait.setIndeterminate(false);
//设置取消监听
wait.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
th.interrupt();
}
});
wait.show();
}
}
下面的外部调用的方法,因为Android的网络请求必须是用线程进行操作,线程的写法有Thread,AsyncTask,两种都用过后感觉如果简单后的后台线程不需要更新UI用Thread方便,如果有UI更新用AsyncTask方便.
用AsyncTask方法调用:
在onPreExecute直接调用ShowProgressDialog.show(mContext, "获取制领单据...");
在onProgressUpdate里ShowProgressDialog.wait.setMessage(values[0]);用于等待过程中显示的文字更新
这样在doInBackground写入publishProgress("开始获取制领单");就会直接执行onProgressUpdate;
最后在onPostExecute加入ShowProgressDialog.wait.dismiss();即可释放弹出等待框.
上述内容就是Android封装弹出等待框及用于网络请求等延时操作的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流