zoukankan      html  css  js  c++  java
  • 当Retrofit和ProgressDialog一起用的时候 ProgressDialog不显示的问题(异步)

    代码:

     public void getMovie() {
            final ProgressDialog pd = new ProgressDialog(this);
            pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            pd.setMessage("加载中");
            pd.show();
            System.out.println("打开***");
            String baseUrl = "https://api.douban.com/v2/movie/";
    
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(baseUrl)
                    .addConverterFactory(ScalarsConverterFactory.create())
                    .build();
    
    
            MovieService movieService = retrofit.create(MovieService.class);
            Call<String> call = movieService.getTopMovie(0, 10);
            call.enqueue(new Callback<String>() {
                @Override
                public void onResponse(Call<String> call, Response<String> response) {
                    System.out.println("获取数据成功***");
    
                    tvRx.setText(response.body().toString());
                    System.out.println("**********" + response.body());
    //                pd.dismiss();
                    Gson gson = new Gson();
                }
    
                @Override
                public void onFailure(Call<String> call, Throwable throwable) {
                    System.out.println("--------------------");
                    tvRx.setText(throwable.getMessage());
                }
            });
            Toast.makeText(getApplicationContext(), "ssdfa", Toast.LENGTH_SHORT).show();
    
            System.out.println("关闭***");
            pd.dismiss();
        }

    这段代码中,ProgressDialog始终是不显示,查看输出才明白用的异步请求导致ProgressDialog刚打开就被关闭了。

    打印结果:

    06-08 03:30:11.011 24465-24465/com.example.z.study I/System.out: 打开***
    06-08 03:30:11.042 24465-24465/com.example.z.study I/System.out: 关闭***
    06-08 03:30:12.514 24465-24465/com.example.z.study I/System.out: 获取数据成功***

    在Node.js中也是同样的道理。在《深入浅出Node.js》中有这样一段话:

  • 相关阅读:
    form表单提交target属性使用
    window.showModalDialog
    mybaits中date类型显示时分秒(orcle数据库)
    mybatis中in查询
    偷懒的inline-block解决方法
    10. python单元测试(一)
    9. Request & 爬虫
    8. 类与对象
    7. python异常处理&异常基类学习
    6. IO及文件操作
  • 原文地址:https://www.cnblogs.com/6324/p/6962425.html
Copyright © 2011-2022 走看看