【已解决】 关于商城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); } } }