2016-05-31 73 views
0

當我們將選項卡設置爲圖標和文本時,可以看到圖標與選項卡文本水平對齊。但是,如果您想要將圖標放在標籤標籤上方,則必須使用自定義視圖來實現它。我無法在以下代碼中將java代碼轉換爲xamarin android?

的Java

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

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

    @Override 
    public Fragment getItem(int position) 
    { 
     return mFragmentList.get(position); 
    } 

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

    public void addFrag(Fragment fragment, String title) 
    { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

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

Xamarin.Android

class ViewPagerAdapter : FragmentPagerAdapter 
{ 
    private List<Android.Support.V4.App.Fragment> mFragmentList = new List<Android.Support.V4.App.Fragment>(); 
    private List<string> mFragmentTitleList = new List<string>(); 

    public ViewPagerAdapter(Android.Support.V4.App.FragmentManager manager) 
    { 
     //base.OnCreate(manager); 
    } 

    public override int Count 
    { 
     get 
     { 
      return mFragmentList.Count; 
     } 
    } 
    public override Android.Support.V4.App.Fragment GetItem(int postion) 
    { 
     return mFragmentList[postion]; 
    } 

    public CharSequence GetPageTitle(int position) 
    { 
     return mFragmentTitleList[position]; 
    } 

    public void addFragment(Android.Support.V4.App.Fragment fragment, string title) 
    { 
     mFragmentList.Add(fragment); 
     mFragmentTitleList.Add(title); 
    } 
} 
  1. 那是什麼?當超級(經理)變成xamarin android。
  2. CharSequence GetPageTitle。他們得到了一個錯誤 - >不能用作返回類型
+0

調用C#中的基類的構造類似這樣的'公共ViewPagerAdapter(Android.Support.V4.App.FragmentManager經理):基地(經理){} ' – juharr

回答

2
class ViewPagerAdapter : FragmentPagerAdapter 
{ 
    private List<Android.Support.V4.App.Fragment> mFragmentList = new List<Android.Support.V4.App.Fragment>(); 
    private List<string> mFragmentTitleList = new List<string>(); 

    public ViewPagerAdapter(Android.Support.V4.App.FragmentManager manager) 
     : base(manager) 
    { 

    } 

    public override int Count 
    { 
     get 
     { 
      return mFragmentList.Count; 
     } 
    } 
    public override Android.Support.V4.App.Fragment GetItem(int postion) 
    { 
     return mFragmentList[postion]; 
    } 

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

    public void AddFragment(Android.Support.V4.App.Fragment fragment, string title) 
    { 
     mFragmentList.Add(fragment); 
     mFragmentTitleList.Add(title); 
    } 
}