Je suis en train d'essayer de créer une vue à onglets à l'aide de l'exemple de la conférence Cirrious, mais je semble avoir des problèmes pour afficher mes données. Le problème se pose lorsque la vue qui accueille l'onglet est appelé spécifiquement le code ci-dessousDonnées ViewModel perdues lors de l'ajout d'un onglet dans TabHost
// 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);
Mon ViewModel calss est inférieure à
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()
{
}
}
L'objet ViewModel.Welcome est créé et initialisés avec les données Il lui est passé et reste ainsi jusqu'à ce que le contrôle passe la méthode SetContent, mais lorsque AddTab est appelé, le constructeur WelcomeViewModel semble être appelé à nouveau et les données sont réinitialisées. La pile d'appel à la trace ce
base.OnCreate(bundle);
appel dans la classe BaseTabbedView. Comment puis-je conserver les données dans le WelcomeViewModel afin qu'il s'affiche dans mon onglet, Merci beaucoup