2016-10-20 3 views
0

내 예측 앱에서 매일 조각을 구현합니다.FragmentPagerAdapter : 보이는 조각의 제목을 변경하십시오.

아키텍처는 다음과 같습니다 FragmentActivity < < PagerTabStrip + ViewPager < < FragmentPagerAdapter

모든 잘 작동. 필자는 가시성에 따라 다음과 같이 조각 제목을 표시해야합니다.

01/10/16 | 2016 년 10 월 2 일 | 03/10/16

내 첫번째 생각에 FragmentPagerAdapter에서 그것을 할 수 있습니다 :

public void set_current_position(int i) 
{ 
    mCurrent_position = i; 
} 

@Override 
public CharSequence getPageTitle(int position) 
{ 
    String strDT = null; 
    boolean isTop = (position == mCurrent_position); 
    Fragment fragment = (Fragment) getItem(position); 
    Bundle data = fragment.getArguments(); 
    long ts = data.getLong(keyDate); 
    Date date = new Date(ts); 

    if (isTop) 
     strDT = FullDateFormat(date); 
    else 
     strDT = ShortDateFormat(date); 

    return strDT; 
} 

결과 일정하지 않습니다; 약간의 시간은 좋지만 시간이 걸리지 않습니다. set_current_position은 'getPageTitle'전이나 후에 '임의로 실행됩니다.

혹시 궁금한 점이 있으십니까?

답변

0

OnTabSelectedListener을 TabLayout으로 설정할 수 있습니다.

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
    @Override 
    public void onTabSelected(TabLayout.Tab tab) { 

     // do your stuff 

    } 

    @Override 
    public void onTabUnselected(TabLayout.Tab tab) { 

    } 

    @Override 
    public void onTabReselected(TabLayout.Tab tab) { 

    } 
}); 
+0

tableLayout은 내 문제를 해결할 수 있지만 7 개의 탭 중 3 개만 표시 할 수는 없습니다. – tazer

+0

이것이 도움이되는지 확인하십시오. http://viewpagerindicator.com/ – cuoka

+0

또는 http://blog.dandyer.co.uk/2011/04/18/scrolling-tabs-in-android/ – cuoka

관련 문제