最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

viewpager與FragmentPagerAdapter重復加載問題?

viewpager與FragmentPagerAdapter重復加載問題?

當從tab1滑動到tab3,然后返回tab1,發(fā)現(xiàn)tab1的數(shù)據(jù)多加載了一遍,然后每次這樣都會多加載一遍打log打了一天不知道問題出在哪里public?class?MainActivity2?extends?AppCompatActivity?{ ????private?TabLayout?tabLayout; ????private?ViewPager?viewPager; ????String[]tabText={"tab1","tab2","tab3","tab4","tab5"}; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.main_activity); ????????tabLayout?=?(TabLayout)?findViewById(R.id.tablayout); ????????viewPager?=?(ViewPager)?findViewById(R.id.Viewpager); ????????for?(int?i=0;i<tabText.length;i++)?{ ????????????tabLayout.addTab(tabLayout.newTab().setText(tabText[i])); ????????} ????????MyAdpter2?myAdpter2?=?new?MyAdpter2(getSupportFragmentManager()); ????????viewPager.setAdapter(myAdpter2); ????????//添加TabLayout變化監(jiān)聽 ????????viewPager.addOnPageChangeListener(new?TabLayout.TabLayoutOnPageChangeListener(tabLayout)); ????????//添加點擊監(jiān)聽 ????????tabLayout.addOnTabSelectedListener(new?TabLayout.OnTabSelectedListener()?{ ????????????//標簽選中之后執(zhí)行的方法 ????????????@Override ????????????public?void?onTabSelected(TabLayout.Tab?tab)?{ ????????????????viewPager.setCurrentItem(tab.getPosition()); ????????????} ????????????//標簽沒選中 ????????????@Override ????????????public?void?onTabUnselected(TabLayout.Tab?tab)?{ ????????????} ????????????@Override ????????????public?void?onTabReselected(TabLayout.Tab?tab)?{ ????????????} ????????}); ????} ????class?MyAdpter2?extends?FragmentPagerAdapter{ ????????public?MyAdpter2(FragmentManager?fm)?{ ????????????super(fm); ????????} ????????@Override ????????public?Fragment?getItem(int?position)?{ ????????????switch?(position) ????????????{ ????????????????case?0: ????????????????????return?new?Fragment1(); ????????????????case?1: ????????????????????return?new?Fragment2(); ????????????????case?2: ????????????????????return?new?Fragment3(); ????????????????case?3: ????????????????????return?new?Fragment4(); ????????????????case?4: ????????????????????return?new?Fragment5(); ????????????} ????????????return?null; ????????} ????????@Override ????????public?int?getCount()?{ ????????????return?tabText.length; ????????} ????} } //碎片1的代碼 public?class?Fragment3?extends?Fragment?implements?AdapterView.OnItemClickListener{ ????private?List<Character>?list?=?new?ArrayList<Character>(); ????private?int[]?image1?=?{R.drawable.icon_1tools,R.drawable.icon_2fire,R.drawable.icon_3survival, ????????????R.drawable.icon_4food,R.drawable.icon_5science,R.drawable.icon_6fight,R.drawable.icon_7build, ????????????R.drawable.icon_8refine,R.drawable.icon_9magic,R.drawable.icon_10dress,R.drawable.icon_11ancient_altar}; ????private?String[]?name?=?{"1",?"2",?"3",?"4",?"5",?"6",?"7",?"8", ????????????"9 ????????????",?"10",?"11"}; ????@Nullable ????@Override ????public?View?onCreateView(LayoutInflater?inflater,?ViewGroup?container,?Bundle?savedInstanceState)?{ ????????View?view?=?inflater.inflate(R.layout.gvmain_layout,container,false); ????????addList(); ????????GridView?gridView?=?(GridView)?view.findViewById(R.id.main_gridlayout); ????????MyAdapter?adapter?=?new?MyAdapter(getActivity(),R.layout.item,list); ????????gridView.setAdapter(adapter); ????????gridView.setOnItemClickListener(this); ????????return?view; ????} ????private?void?addList()?{ ????????for?(int?i?=?0;?i?<?image1.length;?i++)?{ ????????????list.add(new?Character(name[i],?image1[i])); ????????} ????} ????@Override ????public?void?onItemClick(AdapterView<?>?parent,?View?view,?int?position,?long?id)?{ ????} ????public?class?MyAdapter?extends?ArrayAdapter<Character>?{ ????????public?int?resourceId; ????????public?MyAdapter(Context?context,?int?resource,?List<Character>?objects)?{ ????????????super(context,?resource,?objects); ????????????resourceId?=resource; ????????} ????????@Override ????????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{ ????????????Character?character?=?getItem(position);//獲得實例 ????????????View?view; ????????????ViewHoleder?viewHoleder; ????????????if?(convertView?==?null){ ????????????????view?=?LayoutInflater.from(getContext()).inflate(resourceId,null); ????????????????viewHoleder?=?new?ViewHoleder(); ????????????????viewHoleder.fruitImage?=?(ImageView)?view.findViewById(R.id.image); ????????????????viewHoleder.fruitName?=?(TextView)?view.findViewById(R.id.text); ????????????????view.setTag(viewHoleder); ????????????}else?{ ????????????????view?=?convertView; ????????????????viewHoleder?=?(ViewHoleder)?view.getTag(); ????????????} ????????????viewHoleder.fruitImage.setImageResource(character.getImageId()); ????????????viewHoleder.fruitName.setText(character.getName()); ????????????return?view; ????????} ????????class?ViewHoleder{ ????????????ImageView?fruitImage; ????????????TextView?fruitName; ????????} ????} }
查看完整描述

1 回答

?
慕數(shù)據(jù)2535060

TA貢獻1條經(jīng)驗 獲得超1個贊

找到原因了,因為每次加載的時候addList()中的i沒有存儲,但是list的數(shù)據(jù)卻存儲下來了,i變成0,后又重新添加了數(shù)據(jù)一次

查看完整回答
1 反對 回復 2016-10-24
  • 1 回答
  • 0 關(guān)注
  • 3552 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號