本篇文章为大家展示了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封装弹出等待框及用于网络请求等延时操作的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。