您好,登錄后才能下訂單哦!
本篇文章為大家展示了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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。