2013-02-07 4 views
1

FragmentActivity (viewPager)에 3 개의 Fragments이 있습니다. 기본적으로 모든 Fragments 및 새로 고침을 새로 고치는 새로 고침 단추를 추가하려고합니다. 각 FragmentListView입니다. 부적절한 해킹입니까, 아니면 ListViews을 새로 고쳐야합니까? (그렇다면, 내가 FragmentActivity에서 FragmentsListViews에 액세스하는 방법을 잘 모르겠습니다?)파편 제거 및 새로 고침 버튼으로 새로 고침

여기

내가 조각을 설정하는 방법입니다 : 내가 제대로 질문을 읽으면

ActionBar actionBar = getSupportActionBar(); 
      actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

      mSectionsPagerAdapter = new SectionsPagerAdapter(
        getSupportFragmentManager()); 

      mViewPager = (ViewPager) findViewById(R.id.viewpager); 
      mViewPager.setAdapter(mSectionsPagerAdapter); 
      mViewPager.setOffscreenPageLimit(3); 

      mViewPager 
        .setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 
         @Override 
         public void onPageSelected(int position) { 
          actionBar.setSelectedNavigationItem(position); 

         } 
        }); 

      for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { 
       actionBar.addTab(actionBar.newTab() 
         .setText(mSectionsPagerAdapter.getPageTitle(i)) 
         .setTabListener(this)); 
      } 

답변

2

를, 당신의 FragmentActivity이 있어야한다 세 조각 각각에 액세스 할 수 있습니까? 그런 다음 각 Fragment에서 목록을 새로 고치고 (어댑터를 다시 연결하는) 정적 메서드를 설정하고 FragmentActivity의 메서드에서 새로 고침 단추를 누를 때 세 메서드를 호출하게합니다.

+0

편집 : 지금 무슨 뜻인지 알 겠어. 알았어. – KickingLettuce

+0

나는 당신의 대답이 해결책 인 것을 본다. 하지만 내'adapter'는'AsyncTask' 안에 설정되어 있습니다. 여기서'MySQL' 데이터베이스의 데이터를 가져옵니다. 그래서 새로 고침 단추를 가져 와서 ListView와 관련된'ArrayList'를 다시 비워 두었다가 다시 작업을 실행하려고했습니다. 그러나, 나는 이것을하는 모든 종류의 문제가 있습니다. 나는 네가 그 질문에 답한 올바른 원인을 표시하고있다. 다른 문제를 먼저 해결해야합니다. – KickingLettuce

+0

오 잘 어댑터를 분리하고 다시 부착하는 대신. 왜 비동기 작업을 다시 실행해야합니까? postexecute는 목록을 다시 채우는 것입니다. 우선 메소드가 모든 최신 어댑터를 먼저 연결 해제하도록하십시오. theres 다른 무엇이라도 물을 자유롭게 느끼면! –

관련 문제