2016-03-25 4 views
-1

Comment serais-je capable d'itérer dans un fragment? Par exemple, je l'ai fait comme ça, sans itérer puisque je ne pouvais pas comprendre la syntaxe de ne changer la dernière partie des ids:Itérer dans un fragment

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 


    View rootView = inflater.inflate(R.layout.fragment1,container, false); 

    iv_main_gongcast0 = (ImageView) rootView.findViewById(R.id.iv_main_gongcast0); 
    iv_main_gongcast1 = (ImageView) rootView.findViewById(R.id.iv_main_gongcast1); 
    iv_main_gongcast2 = (ImageView) rootView.findViewById(R.id.iv_main_gongcast2); 
    iv_main_gongcast3 = (ImageView) rootView.findViewById(R.id.iv_main_gongcast3); 
... 
    tabHost1 = (FragmentTabHost)rootView.findViewById(R.id.tabhost1); 
    tabHost1.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent1); 
    tabHost1.addTab(tabHost1.newTabSpec("frag6").setIndicator(null, getResources().getDrawable(R.drawable.main1selector)), Fragment6.class, null); 
    tabHost1.addTab(tabHost1.newTabSpec("frag7").setIndicator(null, getResources().getDrawable(R.drawable.main2selector)), Fragment7.class, null); 
    tabHost1.addTab(tabHost1.newTabSpec("frag8").setIndicator(null, getResources().getDrawable(R.drawable.main3selector)), Fragment8.class, null); 
    tabHost1.addTab(tabHost1.newTabSpec("frag9").setIndicator(null,getResources().getDrawable(R.drawable.main4selector)), Fragment9.class, null); 

    tabHost2 = (FragmentTabHost)rootView.findViewById(R.id.tabhost2); 
    tabHost2.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent2); 
    tabHost2.addTab(tabHost2.newTabSpec("frag10").setIndicator(null, getResources().getDrawable(R.drawable.main1selector)), Fragment10.class, null); 
    tabHost2.addTab(tabHost2.newTabSpec("frag11").setIndicator(null, getResources().getDrawable(R.drawable.main2selector)), Fragment11.class, null); 
    tabHost2.addTab(tabHost2.newTabSpec("frag12").setIndicator(null, getResources().getDrawable(R.drawable.main3selector)), Fragment12.class, null); 
    tabHost2.addTab(tabHost2.newTabSpec("frag13").setIndicator(null, getResources().getDrawable(R.drawable.main4selector)), Fragment13.class, null); 

    tabHost3 = (FragmentTabHost)rootView.findViewById(R.id.tabhost3); 
    tabHost3.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent3); 
    tabHost3.addTab(tabHost3.newTabSpec("frag14").setIndicator(null, getResources().getDrawable(R.drawable.main1selector)), Fragment14.class, null); 
    tabHost3.addTab(tabHost3.newTabSpec("frag15").setIndicator(null, getResources().getDrawable(R.drawable.main2selector)), Fragment15.class, null); 
    tabHost3.addTab(tabHost3.newTabSpec("frag16").setIndicator(null, getResources().getDrawable(R.drawable.main3selector)), Fragment16.class, null); 
    tabHost3.addTab(tabHost3.newTabSpec("frag17").setIndicator(null, getResources().getDrawable(R.drawable.main4selector)), Fragment17.class, null); 

    tabHost1.getTabWidget().setDividerDrawable(null); 
    tabHost2.getTabWidget().setDividerDrawable(null); 
    tabHost3.getTabWidget().setDividerDrawable(null); 

    for(int i = 0; i < tabHost1.getTabWidget().getChildCount();i++) { 
     tabHost1.getTabWidget().getChildAt(i).setBackgroundColor(000000); 
     tabHost2.getTabWidget().getChildAt(i).setBackgroundColor(000000); 
     tabHost3.getTabWidget().getChildAt(i).setBackgroundColor(000000); 
     tabHost1.getTabWidget().getChildTabViewAt(i).setPadding(0,0,0,0); 
     tabHost2.getTabWidget().getChildTabViewAt(i).setPadding(0,0,0,0); 
     tabHost3.getTabWidget().getChildTabViewAt(i).setPadding(0,0,0,0); 
    } 
return rootView; 
} 



private void Main_Gongcast(Main NewUser){ 
    Picasso.with(getActivity().getApplicationContext()) 
      .load(NewUser.getResponsedata().getResultObject().getMainBoardRecentArr().get(0).getContentFirstImgPath()) 
      .into(iv_main_gongcast0); 
    Picasso.with(getActivity().getApplicationContext()) 
      .load(NewUser.getResponsedata().getResultObject().getMainBoardRecentArr().get(1).getContentFirstImgPath()) 
      .into(iv_main_gongcast1); 
    Picasso.with(getActivity().getApplicationContext()) 
      .load(NewUser.getResponsedata().getResultObject().getMainBoardRecentArr().get(2).getContentFirstImgPath()) 
      .into(iv_main_gongcast2); 
    Picasso.with(getActivity().getApplicationContext()) 
      .load(NewUser.getResponsedata().getResultObject().getMainBoardRecentArr().get(3).getContentFirstImgPath()) 
      .into(iv_main_gongcast3); 
... 
} 

Donc, en gros, pour la dernière partie, je pensais faire qqch comme:

private void Main_Gongcast(Main NewUser) { 
    for (int i = 0; i < 8; i++) { 
     Picasso.with(getActivity().getApplicationContext()) 
.load(NewUser.getResponsedata().getResultObject() 
.getMainBoardRecentArr().get(i).getContentFirstImgPath() 
.into(getResources() 
.getIdentifier("iv_main_gongcast" + i, "id", getContext().getPackageName())); 
    } 
} 

fonctionnerait mais ce n'est pas le cas.

+0

@MikeM. pourriez-vous m'aider ? –

Répondre

0

Je l'ai fait ainsi:

ImageView[] iv_main_gongcast = new ImageView[8]; 

//

for(int i=0; i< 8; i++) { 
     iv_main_gongcast[i] = ((ImageView) rootView.findViewById(getResources().getIdentifier("iv_main_gongcast" + i, "id", getActivity().getPackageName()))); 
    } 

//

private void Main_Gongcast(Main NewUser){ 
    for (int i = 0; i < 8; i++) { 
     if(NewUser.getResponsedata().getResultObject().getMainBoardRecentArr().get(i).getContentFirstImgPath() != "") { 
      Picasso.with(getActivity().getApplicationContext()) 
        .load("yoururl") 
        .into(iv_main_gongcast[i]); 
     } 
    } 
}