Cirious Conference サンプルを使用してタブ付きビューを作成しようとしていますが、データの表示に問題があるようです。タブをホストするビューが特に以下のコードで呼び出されると、問題が発生します
// Initialize a TabSpec for each tab and add it to the TabHost
spec = TabHost.NewTabSpec("welcome");
spec.SetIndicator(this.GetText("Welcome"),Resources.GetDrawable(Resource.Drawable.Tab_Welcome));
spec.SetContent(CreateIntentFor(ViewModel.Welcome));
TabHost.AddTab(spec);
私のViewModelカルスは以下です
public class WelcomeViewModel : MvxViewModel
{
private string _description;
public string Description
{
get
{
return _description;
}
set
{
_description = value;
FirePropertyChanged("Description");
}
}
public WelcomeViewModel(string description)
{
Description = description;
}
public WelcomeViewModel()
{
}
}
ViewModel.Welcome オブジェクトが作成され、渡されたデータで初期化され、コントロールが SetContent メソッドを渡すまでそのままですが、AddTab が呼び出されると、WelcomeViewModel コンストラクターが再度呼び出されたように見え、データがリセットされます。コール スタックは、これを
base.OnCreate(bundle);
BaseTabbedView クラスで呼び出します。自分のタブに表示されるように、WelcomeViewModel のデータを保持するにはどうすればよいですか。