0
  • 最佳答案

    看看你的presenter层代码,数据加载到了,但是没有调到onContentLoaded这个方法哟

    1279241123625246720  评论     打赏       Xiao9mmDa
    • 哈巴九  回复 @Xiao9mmDa
      查了presenter层的代码,没找到问题啊.. registerViewCallback 内容都写了
      哈巴九 2021-09-18 15:23   回复 1394268770972774401
    • 哈巴九  回复 @小9mm大
      怎么回复不了,在这边回复吧 应该是!contains才对 是吗 真的感谢 但是我的轮播图加载不出来 我再找找问题吧
      哈巴九 2021-09-18 16:06   回复 1394268770972774401
    • 拉大锯  回复 @哈巴九
      按着数据流去看,从哪里来,到哪里去,多打log,会调试也可以调试。
      拉大锯 2021-09-18 17:54   回复 1153952789488054272
  • onContenLoaded没有输出,那就是他没有被调用。你去看看是那个位置需要调用。什么时候调用的。你就知道bug在哪里了。

    1139423796017500160  评论     打赏       断点-含光君
    • 哈巴九  回复 @断点-含光君
      找了下调用的函数里,一个参数值为0,但我不知道从哪修改
      哈巴九 2021-09-18 15:31   回复 1394268770972774401
  • onContentLoaded没Log输出,那证明什么呢?证明你这个方法没运行。那没运行的话你是不是得再往上追踪一下?其实数据没加载出来很简单,你请求到数据之后做了什么才是关键的

    1255088796991492096  评论     打赏       冒着泡泡的汽水儿
    • 这种问题跟着数据流走就好。


      数据请求回来,确定有回来没有---->设置到适配器里----> 绑定数据---->确保有设置布局管理器,item你可以设置一个背景,硬编码一个高度,这样就知道哪个环节有问题了。

      1153952789488054272  评论     打赏       拉大锯
      • A lonely cat  回复 @拉大锯
        我一般比较极端 400dp BLACK or RED or GREEN 哈哈哈
        A lonely cat 2021-09-18 11:33   回复 1204736502274318336
    • debug了一下 callbacks的值是0 这是什么问题啊

      1394268770972774401  评论     打赏       哈巴九
      • 哈巴九  回复 @哈巴九
        callbacks 的值是0
        哈巴九 2021-09-18 15:53   回复 1394268770972774401
      • Xiao9mmDa  回复 @哈巴九
        看看底下的回复
        Xiao9mmDa 2021-09-18 15:57   回复 1279241123625246720
    • public class CategoryPagerPresenterImpl implements ICategoryPagerPresenter {
          private Map<Integer,Integer> pageInfo = new HashMap<>();
      
          public static final int DEFAULT_PAGE = 1;
      
          private CategoryPagerPresenterImpl(){
      
          }
          private static ICategoryPagerPresenter sInstance = null;
          public static ICategoryPagerPresenter getInstance(){
              if (sInstance == null) {
                  sInstance = new CategoryPagerPresenterImpl();
              }
              return sInstance;
          }
      
      
          @Override
          public void getContentByCategoryId(int categoryId) {
              //加载内容根据分类id
              for (ICategoryPagerCallback callback : callbacks) {
                  if (callback.getCategoryId()==categoryId){
                      callback.onLoading();
                  }
              }
              Retrofit retrofit = RetrofitManager.getInstance().getRetrofit();
              API api = retrofit.create(API.class);
              Integer targetPage = pageInfo.get(categoryId);
              if (targetPage==null) {
                  targetPage = DEFAULT_PAGE;
                  pageInfo.put(categoryId,targetPage);
              }
              String homePagerUrl = UrlUtils.createHomePagerUrl(categoryId,targetPage );
              LogUtils.d(this,"home page url"+homePagerUrl);
              Call<HomePagerContent> task = api.getHomePagerContent(homePagerUrl);
              task.enqueue(new Callback<HomePagerContent>() {
                  @Override
                  public void onResponse(Call<HomePagerContent> call, Response<HomePagerContent> response) {
                      int code = response.code();
                      LogUtils.d(CategoryPagerPresenterImpl.this,"code-->"+code);
                      if (code == HttpURLConnection.HTTP_OK) {
                          HomePagerContent pagerContent = response.body();
                          LogUtils.d(CategoryPagerPresenterImpl.this,"pagecontent"+pagerContent);
                          //把数据给到ui
                          handleHomePageContentResult(pagerContent,categoryId);
      
                      }else {
                              handleNetworkError(categoryId);
                      }
                  }
      
                  @Override
                  public void onFailure(Call<HomePagerContent> call, Throwable t) {
                      LogUtils.d(CategoryPagerPresenterImpl.this,"onFailure-->"+t.toString());
                      handleNetworkError(categoryId);
      
                  }
              });
          }
      
          private void handleNetworkError(int categoryId) {
              for (ICategoryPagerCallback callback : callbacks) {
                  if (callback.getCategoryId()==categoryId) {
                      callback.onNetworkError();
                  }
              }
      
          }
      
          private void handleHomePageContentResult(HomePagerContent pagerContent, int categoryId) {
              //通知UI层更新数据
      
              List<HomePagerContent.DataBean> data = pagerContent.getData();
              for(ICategoryPagerCallback callback:callbacks){
                  if (callback.getCategoryId()==categoryId) {
                      if (pagerContent==null|| data.size()==0) {
                      callback.onEmpty();
                  }else{
      
                          List<HomePagerContent.DataBean> looperData = data.subList(data.size() - 5, data.size());
                          callback.onLooperListLoaded(looperData);
                          callback.onContentLoaded(data);
                      }
                  }
              }
          }
      
          @Override
          public void loadMore(int categoryId) {
      
          }
      
          @Override
          public void reLoad(int categoryId) {
      
          }
          private List<ICategoryPagerCallback> callbacks = new ArrayList<>();
      
          @Override
          public void registerViewCallback(ICategoryPagerCallback callback) {
      
              if (callbacks.contains(callback)) {
                  callbacks.add(callback);
              }
      
          }
      
          @Override
          public void unregisterViewCallback(ICategoryPagerCallback callback) {
              callbacks.remove(callback);
          }
      }
      
      
      1394268770972774401  评论     打赏       哈巴九
      • Xiao9mmDa  回复 @哈巴九
        你看你给callBacks赋值的地方,是不是有什么问题呢 if (callbacks.contains(callback)) { callbacks.add(callback); } 仔细看看这里哦
        Xiao9mmDa 2021-09-18 15:43   回复 1279241123625246720
    相关问题
    _empty · Android
    2019-10-20 23:51 628 2
    application · Android
    2019-11-05 00:26 779 2
    三流废物 · android / 小白
    2019-11-22 00:35 1067 5
    豪豪好嘛 · Android / GPS
    2019-11-26 20:15 883 5
    Jian · android
    2019-11-28 01:51 615 2
    2019-12-01 01:01 705 2
    小陈学编程 · Android
    2019-12-01 19:08 633 2
    fkinggod · Android
    2019-12-08 09:19 660 5
    fkinggod · Android
    2019-12-08 20:47 610 2
    kissmyass · Android
    2019-12-09 07:08 537 2
    独一无二的名zi · Android
    2019-12-30 06:48 415 2