2013-06-26 174 views
3

我正在研究具有垂直選項卡的活動,並且其中一個選項卡也包含水平選項卡。當我試圖做到這一點時,我得到了類轉換異常,因爲選項卡內容應該繼承MvxFragment,並使其繼承MvxTabsFragmentActivity。下面是活動的代碼:如何使用mvvmcross將子選項卡添加到選項卡內容

using Android.App; 
using Android.OS; 
using Android.Views; 
using Cirrious.MvvmCross.Droid.Fragging; 
using Cirrious.MvvmCross.Droid.Views; 
using Xyz.Yzx.ViewModels; 


namespace Xyz.Yzx.Core.Views 
{ 
    [Activity(Label = "View for FirstViewModel",MainLauncher = true)] 
    public class FirstView : MvxTabsFragmentActivity 
    { 
     public FirstViewModel FirstViewModel 
     { 
      get { return (FirstViewModel)base.ViewModel; } 
     } 

     public FirstView() 
      : base(Resource.Layout.ClassMate_Page, Resource.Id.actualtabcontent) 
     { 
     } 

     protected override void AddTabs(Bundle args) 
     { 

      AddTab<Favourite>("Tab2", "Tab 2", args, FirstViewModel.MainViewModel); 
      // note that 

     } 
     public override bool OnCreateOptionsMenu(IMenu menu) 
     { 

      MenuInflater.Inflate(Resource.Menu.Main, menu); 
      return true; 
     } 
    } 

} 

這裏是「收藏」類(標籤片段活動):

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Android.App; 
using Android.Content; 
using Android.OS; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 
using Cirrious.MvvmCross.Droid.Fragging.Fragments; 

namespace Xyz.Core.Views 
{ 
    public class Favourite : MvxTabsFragmentActivity 
    { 
     public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
      return inflater.Inflate(Resource.Layout.device_view, container, false); 
     } 
    } 
} 

那麼,怎樣才能把我的標籤標籤內容?

回答

5

片段覆蓋在http://slodge.blogspot.co.uk/2013/06/n26-fragments-n1-days-of-mvvmcross.html

顯示內標籤片段https://github.com/slodge/MvvmCross-Tutorials/tree/master/Fragments

所示。如果您需要UX選項卡中之片段,則:

  • 這不是一個場景mvvmCross支持開箱即用(這不是我之前見過的場景)
  • 您將無法使用Activity作爲tabhost片段的基礎。相反,您需要制定一種在片段中顯示製表符的方法。選項卡託管代碼並不長 - 請參閱MvxTabsFragmentActivity.cs - 我想您應該能夠將此代碼移植到您自己的專用片段中 - 但這需要一點工作,就像沒有MvvmCross一樣。
+1

我的答案很有希望涵蓋技術思想。從我自己的角度來看,我鼓勵您考慮替代用戶體驗方法 - 標籤內的標籤對我來說聽起來不像是一個很好的現代用戶體驗。 – Stuart

相關問題