【已解决】 关于商城app推荐界面与母婴界面获取不到数据问题
   在as里面测试了多次,打了log发现两个界面的url都是没有问题的,id也没错,但是拿不到数据.于是我自己用postman又测试了一下两个界面的url,发现都是有数据的.(除了这两个界面外,其他界面都有数据).请问应如何解决?


推荐界面的url

retrofit

baseurl

homefragment
public class HomeFragment extends BaseFragment implements IHomeCallback {
    @BindView(R.id.home_indicator)
    public TabLayout mTabLayout;
    private HomePresenterImpl mHomePresenter;
    private CategoryPagePresenterimpl mCategoryPagePresenter;
    @BindView(R.id.home_pager)
    public ViewPager homepager;
    private HomepagerAdapter mAdapter;
    @Override
    protected int getRootViewResId() {
        return R.layout.fragment_home;
    }
    @Override
    protected void initview(View view) {
        mTabLayout.setupWithViewPager(homepager);
        //给viewpager设置适配器
        mAdapter = new HomepagerAdapter(getChildFragmentManager());
        homepager.setAdapter(mAdapter);
    }
    @Override
    protected void initPresenter() {
        mHomePresenter = new HomePresenterImpl();
        mHomePresenter.registerViewCallback(this);
    }
    @Override
    protected View loadRootView(LayoutInflater inflater, ViewGroup container) {
        //复写掉basefragment里面的loadrootview方法
        return inflater.inflate(R.layout.base_home_fragment_layout, container, false);
    }
    @Override
    protected void loadData() {
        mHomePresenter.getCategories();//数据从哪回来?要注册接口
    }
    @Override
    public void onNetWorkError() {
        setUpState(State.ERROR);
    }
    @Override
    public void onLoading() {
        setUpState(State.LOADING);
    }
    @Override
    public void onEmpty() {
        setUpState(State.EMPTY);
    }
    @Override
    protected void release() {
        if (mHomePresenter != null) {
            mHomePresenter.unregisterViewCallback(this);
        }
    }
    @Override
    protected void onRetryClick() {
        //网络错误,点击了重试
        //重新加载分类内容
        if (mHomePresenter != null) {
            mHomePresenter.getCategories();
        }
    }
    @Override
    public void onCategoriesLoaded(Categories category) {
        setUpState(State.SUCCESS);
        //加载的数据从这里回来
        if (mAdapter != null) {
            mAdapter.setCategories(category);
        }
    }
    }
加载数据相关代码:
@Override
protected void loadData() {
    Bundle arguments = getArguments();
    Log.d(TAG,"arguments-----"+arguments);
    if (arguments!=null){
        mTitle = arguments.getString(Constants.KEY_HOME_PAGER_TITLE);
        mId = arguments.getInt(Constants.KEY_HOME_PAGER_MATERIAL_ID);
        Log.d(TAG,"TITLE-------"+mTitle);
        Log.d(TAG,"id-------"+mId);
    }
    //todo:加载数据(通过presenter去加载数据)
    if (mCategoryPagerPresenter!=null){
        Log.d(TAG,"load data----");
        mCategoryPagerPresenter.getContentByCategoryId(mId);
    }
    if (currenttitle!=null){
        currenttitle.setText(mTitle );
    }
}  
homepagefragment
public class HomePageFragment extends BaseFragment implements ICategoryPagerCallback { private static final String TAG = "HomePageFragment"; private ICategoryPagerPresenter mCategoryPagerPresenter; private String mTitle; private int mId; private HomePageContentAdapter mHomePageContentAdapter; private looperPagerAdapter mLooperPagerAdapter; public static HomePageFragment newInstance(Categories.DataBean category){ Log.d(TAG,"homepagerfragment-----"); HomePageFragment homePageFragment =new HomePageFragment(); Bundle bundle = new Bundle(); bundle.putInt(Constants.KEY_HOME_PAGER_MATERIAL_ID,category.getId()); bundle.putString(Constants.KEY_HOME_PAGER_TITLE,category.getTitle()); Log.d(TAG,"title---"+category.getTitle()); homePageFragment.setArguments(bundle);//设置数据 return homePageFragment; } @BindView(R.id.home_pager_title) public TextView currenttitle; @BindView(R.id.looper_point_container) public LinearLayout looperPointContainer; @BindView(R.id.home_pager_content_list) public RecyclerView mContentList; @BindView(R.id.looper_pager) public ViewPager looperpager; @Override protected int getRootViewResId() { return R.layout.fragment_homepager; } @Override protected void initListener() { looperpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { LogUtils.d(this,"SIZE----"+mLooperPagerAdapter.getDataSize()); int dataSize = mLooperPagerAdapter.getDataSize(); int targetposition=1; if (dataSize==0){ dataSize++; } targetposition = position%dataSize; updateLooperIndicator(targetposition); //切换指示器 } private void updateLooperIndicator(int targetposition) { for (int i = 0; i < looperPointContainer.getChildCount(); i++) { View view = looperPointContainer.getChildAt(i); if (i==targetposition){ view.setBackgroundResource(R.drawable.shape_indicator_point); }else { view.setBackgroundResource(R.drawable.shape_indicator_point_noromal); } } } @Override public void onPageScrollStateChanged(int state) { } }); } @Override protected void initview(View view) { //设置布局管理器 setUpState(State.SUCCESS); mContentList.setLayoutManager(new LinearLayoutManager(getContext())); mContentList.addItemDecoration(new RecyclerView.ItemDecoration() { @Override public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { outRect.top=5; outRect.bottom=5; } }); mHomePageContentAdapter = new HomePageContentAdapter(); //设置适配器 mContentList.setAdapter(mHomePageContentAdapter); //创建轮播图适配器 mLooperPagerAdapter = new looperPagerAdapter(); looperpager.setAdapter(mLooperPagerAdapter); } @Override protected void initPresenter() { //不同的分类需要拿到不同的对象,所以需要创建单例来节省资源 mCategoryPagerPresenter = CategoryPagePresenterimpl.getIntance(); mCategoryPagerPresenter.registerViewCallback(this);//注册接口 } @Override public void onContentLoaded(List<HomePagerContent.DataDTO> contents,int categoryId) { //TODO:更新UI setUpState(State.SUCCESS); mHomePageContentAdapter.setData(contents); } @Override public void onLoading(int categoryId) { setUpState(State.LOADING); } @Override public void onError(int categoryId) { setUpState(State.ERROR); } @Override public void onEmpty(int categoryId) { } @Override public int getCategoryId() { return mId; } @Override public void onLoaderMoreError(int categoryId) { } @Override public void onLoaderMoreEmpty(int categoryId) { } @Override public void onLoaderMoreSuccess(List<HomePagerContent.DataDTO> contents, int categoryId) { } @Override public void onLooperListLoaded(List<HomePagerContent.DataDTO> contents, int categoryId) { LogUtils.d(HomePageFragment.this,"looperlist----"+contents.size()); //在这里传入数据 mLooperPagerAdapter.setData(contents); //设置到中间点 int dx = (Integer.MAX_VALUE/2)%contents.size(); int targetCenterPosition = (Integer.MAX_VALUE / 2) - dx; looperpager.setCurrentItem(targetCenterPosition); //添加点 for (int i = 0; i < contents.size(); i++) { View view = new View(getContext()); int size = SizeUtils.dip2px(getContext(), 8); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(size,size); layoutParams.leftMargin =SizeUtils.dip2px(getContext(),5); layoutParams.rightMargin =SizeUtils.dip2px(getContext(),5); view.setLayoutParams(layoutParams); if (i==0){ view.setBackgroundResource(R.drawable.shape_indicator_point); }else { view.setBackgroundResource(R.drawable.shape_indicator_point_noromal); } looperPointContainer.addView(view); } } @Override protected void loadData() { Bundle arguments = getArguments(); Log.d(TAG,"arguments-----"+arguments); if (arguments!=null){ mTitle = arguments.getString(Constants.KEY_HOME_PAGER_TITLE); mId = arguments.getInt(Constants.KEY_HOME_PAGER_MATERIAL_ID); Log.d(TAG,"TITLE-------"+mTitle); Log.d(TAG,"id-------"+mId); } //todo:加载数据(通过presenter去加载数据) if (mCategoryPagerPresenter!=null){ Log.d(TAG,"load data----"); mCategoryPagerPresenter.getContentByCategoryId(mId); } if (currenttitle!=null){ currenttitle.setText(mTitle ); } } @Override protected void release() { if (mCategoryPagerPresenter != null) { mCategoryPagerPresenter.unregisterViewCallback(this); } } }