ViewPager数据加载错乱的问题
来源:互联网 发布:运动控制软件有哪些 编辑:程序博客网 时间:2024/05/21 06:50
这几天,利用ViewPager作了一个滑动页面,发现里面的数据都是错乱的,后来发现加载数据的时机不对,特在此做一个笔记,备忘~~
这是Adapter;
package me.quantumti.masktime.adapter;import java.util.List;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;public class MaskPlanViewPagerAdapter extends PagerAdapter{private List<View> mpViews;public MaskPlanViewPagerAdapter(List<View> mpViews){this.mpViews = mpViews;}@Overridepublic void destroyItem(View arg0, int arg1, Object arg2){View view = mpViews.get(arg1);if(null != view){((ViewPager)arg0).removeView(view);}}@Overridepublic int getCount(){return mpViews.size();}@Overridepublic Object instantiateItem(View view, int position){((ViewPager)view).addView(mpViews.get(position));return mpViews.get(position);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1){return arg0 == arg1;}}
数据的加载不能放在 instantiateItem() 方法中去处理;
以下是数据加载的时机。
@ViewById(R.id.vp_mask_plan)ViewPager vPager;vPager.setOnPageChangeListener(new OnPageChangeListener(){@Overridepublic void onPageSelected(int currentPageIndex){currentPage = currentPageIndex;tvPrg.setText((currentPageIndex + 1) + "/" + dataLen);loadDatas(currentPageIndex);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2){}@Overridepublic void onPageScrollStateChanged(int arg0){}});private void loadDatas(int position){final MyPlanDetail plan = mpDatas.get(position);View view = mpViews.get(position);ImageView ivPlanCover = (ImageView)view.findViewById(R.id.iv_plan_cover_full);TextView tvPlanName = (TextView)view.findViewById(R.id.tv_plan_title);TextView tvPlanSchedule = (TextView)view.findViewById(R.id.tv_plan_schedule);TextView tvPlanNextTime = (TextView)view.findViewById(R.id.tv_plan_next);LinearLayout llTitls = (LinearLayout)view.findViewById(R.id.ll_plan_title);llTitls.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){PlanDetailActivity_.intent(getActivity()).planId(plan.getPlanId()).start();aUtils.leftInAnimation(getActivity());}});ivPlanCover.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){MyPlanDetailsActivity_.intent(getActivity()).planId(plan.getPlanId()).maskId(plan.getMaskdetail_id()).start();aUtils.leftInAnimation(getActivity());}});Picasso.with(getActivity()).load(mUtils.formatImgUrl(plan.getIcon())).into(ivPlanCover);tvPlanName.setText(plan.getTitle());tvPlanSchedule.setText(plan.getCurrentNum() + "/" + plan.getMaskNum());int nextInterval = plan.getNextInterval();tvPlanNextTime.setText(getActivity().getResources().getString(R.string.plan_fragment_plan_next_time_text) + mUtils.getNextTime(nextInterval));}
0 0
- ViewPager数据加载错乱的问题
- ViewPager数据加载错乱的问题
- ViewPager 懒加载 导致的数据错乱问题
- Fragment的懒加载(解决ViewPager中Fragment生命周期错乱的问题)
- Tablayout+viewpager+Fragment的数据加载问题
- 如何解决ListView中EditText的数据加载错乱的问题?
- 关于 android listview 加载数据错位(错乱)问题
- gridview中使用CheckBox,解决CheckBox数据加载错乱问题
- listview复用后数据错乱问题的解决
- ListView 数据错乱问题的解决(CheckBox)
- viewpager嵌套fragment,数据预加载的问题
- 关于BaseAdapter,SimpleAdapter的数据显示错乱问题,选中状态错乱问题,Checkbox选中状态错乱问题总结
- ViewPager动态加载的问题
- 解决ListView加载错乱问题
- 问题记录:viewpager取消数据预加载
- JqueryEasyUI 解决IE下加载时页面错乱的问题
- ImageLoader加载本地和网络图片出现错乱的问题
- 安卓中常见ListView等加载Adapter后的错乱问题
- 创建守护进程
- 浅谈四种内部类
- Android Studio Gradle命令详解与导入第三方包
- "黑魔法"Method Swizzling和IMP指针
- C语言基础测试题02
- ViewPager数据加载错乱的问题
- 如何在LINUX VPS上安装VPN详细步骤
- quick-cocos2d-x源文件编译及加密详解
- Flex -> JDK8: Unable to Resolve javax.swing ?
- easyui重载数据表格当前页面脚本发生错误
- 职责链模式(一):采购单的分级审批
- Android SurfaceView 详解(一)
- sql语句中的数字不需要用引号,会影响效率
- poj 3237 Tree 【LCA or 树链剖分】