ぴよぴよエンジニアの日記

クラウドベンダーに勤める見習いSEの日記です。発言は私自身の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

Xamarin.AndroidのSupport-v4 PagerAdapterでのGetPageTitleの方法

Support-v4 PagerAdapterでTabLayoutにタイトルが表示ができず困ったので備忘録に.

開発環境

問題

@Override
public CharSequence getPageTitle(int position) {
    return titles.get(position);
}

Android Javaだと上記のように書きます.

Xamarinでも同様にいけるだろうと思ったら...

public override string GetPageTitle(int position) {
    return titles[position];
}

こう書くと,

virtual、abstract または override に設定されていないため、
継承されたメンバー 'Android.Support.V4.View.PagerAdapter.GetPageTitle(int)' をオーバーライドできません。

と怒られます.

解決策

このページに解決策がありました.

public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
{
    return new Java.Lang.String(titles[position]);
}

上記はoverrideでき、正常に動作します.

以上です.