2

PagerTitleStripを使用してタイトルビューページャーを設定する際に問題が発生しました。ビューページャーにPagerTitleStripの子ビューを追加しました。

各ページに適用するタイトル文字列はどこに提供できますか?

ページアダプタクラスでページタイトルを設定するにはどうすればよいですか?

4

2 に答える 2

4

getPageTitleメソッドをオーバーライドし、ページ文字列の静的配列をメソッドに提供します。

String [] titlesArray = 
    new String []{ 
        page1, 
        page2,
        page3
    };

public CharSequence getPageTitle(int position) {
    return titlesArray [position];
}
于 2012-05-16T09:44:05.730 に答える
0

これが完全な例です。を実装する必要がありますpublic CharSequence getPageTitle(int position)

public class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment) {
        mFragmentList.add(fragment);
    }

     @Override
    public Fragment getItem(int position) {
        if(position == 0){
            return FragmentInner1.newInstance();
        }
        else {
            return FragmentInner2.newInstance();
        }
    }

    @Override
    public CharSequence getPageTitle(int position) {
        if(position == 0){
            // public static final String PAGE_TITLE = "My Title #1" is within the layout FragmentInner1;
            return FragmentInner1.PAGE_TITLE;
        }
        else {
            // public static final String PAGE_TITLE = "My Title #2" is within the layout FragmentInner2;
            return FragmentInner2.PAGE_TITLE;
        }
    }
}
于 2018-01-05T03:12:58.307 に答える