国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

android - 請求網絡的時候出現自定義的對話框

瀏覽:79日期:2024-08-26 13:17:50

問題描述

public static Dialog createLoadingDialog(Context context){LayoutInflater inflater = LayoutInflater.from(context);View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加載viewLinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);// 加載布局// main.xml中的ImageViewImageView spaceshipImage = (ImageView) v.findViewById(R.id.imgLoading);SceneAnimation s = new SceneAnimation(spaceshipImage,imglist,1);//Glide.with(context).load(R.drawable.et_loader).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(spaceshipImage);Dialog loadingDialog = new Dialog(context,R.style.loadingDialogStyle);// 創建自定義樣式dialogloadingDialog.setCancelable(true);// 不可以用“返回鍵”取消loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT));// 設置布局return loadingDialog; }

這是我對話框的代碼;

@Override protected void onPostExecute(String s) {super.onPostExecute(s);dialog.dismiss(); }@Override protected void onPreExecute() {super.onPreExecute();dialog = LoadingDialog.createLoadingDialog(activity);dialog.show(); }

問題解答

回答1:

不要在子線程中調用UI

activity.runOnUiThread(new Runnable() { @Override public void run() {dialog.show(); }});

這樣試試

回答2:

我想實現這樣一個效果,在我請求api的時候,做出一個加載中的效果。 現在我的加載框顯示不了。

這是我的請求api的類(NetworkTask),它繼承了AsyncTask; 我把所有請求都封裝在這里。

android - 請求網絡的時候出現自定義的對話框

這是我調用 NetworkTask 的 代碼 。 構造函數傳的值是 需要調用的 api 名稱 和 當前 活動 (Activity) 。android - 請求網絡的時候出現自定義的對話框

onPostExecute 和 onPreExecute 都 被調用了,dialog 也 有值;

我聽說 子線程 不能 調用 ui ? 是因為這個問題嗎?所以我不能夠 調用 對話框 ?

以下 是我對話框的布局 和 對話框的 java 代碼

android - 請求網絡的時候出現自定義的對話框

public class LoadingDialog { private static int[] imglist = new int[]{ R.drawable.et_loading_00, R.drawable.et_loading_01, R.drawable.et_loading_02, R.drawable.et_loading_03, R.drawable.et_loading_04, R.drawable.et_loading_05, R.drawable.et_loading_06, R.drawable.et_loading_07, R.drawable.et_loading_08, R.drawable.et_loading_09, R.drawable.et_loading_10, R.drawable.et_loading_11, R.drawable.et_loading_12, R.drawable.et_loading_13, R.drawable.et_loading_14, R.drawable.et_loading_15 }; public static Dialog createLoadingDialog(Context context){LayoutInflater inflater = LayoutInflater.from(context);View v = inflater.inflate(R.layout.loading_dialog, null);// 得到加載viewLinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);// 加載布局// main.xml中的ImageViewImageView spaceshipImage = (ImageView) v.findViewById(R.id.imgLoading);SceneAnimation s = new SceneAnimation(spaceshipImage,imglist,1);//Glide.with(context).load(R.drawable.et_loader).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(spaceshipImage);Dialog loadingDialog = new Dialog(context,R.style.loadingDialogStyle);// 創建自定義樣式dialogloadingDialog.setCancelable(true);// 不可以用“返回鍵”取消loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT));// 設置布局return loadingDialog; }}回答3:

有個重寫的方法 onProgressUpdate,把對話框寫在里面

相關文章:
主站蜘蛛池模板: 大埔县| 石景山区| 老河口市| 礼泉县| 辽中县| 鸡泽县| 博罗县| 阳朔县| 舞阳县| 汤原县| 合水县| 中方县| 五河县| 白河县| 扎赉特旗| 象州县| 长武县| 辽阳市| 浑源县| 台南县| 杂多县| 霞浦县| 绥江县| 孝昌县| 台东市| 新郑市| 东丰县| 新河县| 旬邑县| 历史| 广德县| 兴化市| 海阳市| 晴隆县| 广南县| 镇平县| 孟州市| 天全县| 泸定县| 扶风县| 高陵县|