2013-09-08 6 views
0

Я использую код из примера Google, который называется Creating Swipe Views with Tabs, и у меня есть одна проблема. Мне нужно обновить представление.Update Swipe Views фрагмент

Это INIT фрагменты:

private AppSectionsPagerAdapter mAppSectionsPagerAdapter; 
private ViewPager mViewPager; 

private void FragmentsInit() 
    { 
    mAppSectionsPagerAdapter = new AppSectionsPagerAdapter(getSupportFragmentManager()); 
    mViewPager = (ViewPager) findViewById(R.id.pager); 
    mViewPager.setAdapter(mAppSectionsPagerAdapter); 
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() 
       { 
       @Override 
       public void onPageSelected(int position) 
        { 
        actionBar.setSelectedNavigationItem(position); 
        } 
       }); 
    mViewPager.setOffscreenPageLimit(fragments); 
    for (int i = 0; i < mAppSectionsPagerAdapter.getCount(); i++) 
     { 
     actionBar.addTab(actionBar.newTab() 
       .setText(mAppSectionsPagerAdapter.getPageTitle(i)) 
       .setTabListener(this)); 
     } 
    TabPosition=defaultPrefsGet.getInt("TabPosition",0); 
    mViewPager.setCurrentItem(TabPosition); 
    } 

Это один из фрагментов, где UpdateTab1 это код, который заполняют представление по данным. Позже мне нужно обновить эти данные, что не является проблемой, но я не знаю, как «перезагрузить» фрагмент, чтобы показать данные.

public static class Fragment1 extends Fragment 
    { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
     View rootView = inflater.inflate(R.layout.music_list, container, false); 

     UpdateTab1(rootView); 

     return rootView; 
     } 
    } 

Я попытался его найти, но не смог. Заранее благодарю за любые идеи.

ответ

0

Хорошо, я нашел решение, это было очень просто. Я только что заменил «FragmentPagerAdapter» на «FragmentStatePagerAdapter». После этого я снова и снова могу называть «UpdateTab1» и работать с представлением, как в действии.

Примечание: я определил «общественных статического вид viewTab1;», чтобы иметь возможность UpdateTab1 вызова (viewTab1) из любой части деятельности.

public static class Fragment1 extends Fragment 
    { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
     View rootView = inflater.inflate(R.layout.music_list, container, false); 

     viewTab1=rootView; 
     UpdateTab1(viewTab1); 

     return rootView; 
     } 
    }