2010-12-03 11 views
2

MonoTouch for iPad(iOS 4.2)にアプリがあります。私はボタンとナビゲーションバーを表示するメインウィンドウを持っています。このボタンをクリックすると、Webからいくつかのデータをロードする別のコントロールを表示したいと思います。私はUIAlertViewをインスタンス化し、Showメソッドを呼び出します。私は新しいコントロールのデータのロードを呼び出すよりも、それが完了した後、私は新しいコントロールを提示します。 私の問題は、alert.Show()を呼び出した後、何も表示されず、背景だけが期待どおりに変化することです。新しいコントロールが表示された後、警告自体が表示されます。 マイコード:MonoTouch UIAlertViewが表示されない

public void EnterCloudControl(TagCloudItem item) 
    { 
    using(UIAlertView loadingDialog = new UIAlertView("title", "message", null, "ok", null)) 
    { 
    loadingDialog.Show(); 
    MyContentCloudController cc = new MyContentCloudController(ContentFrame, this); 
    NavigationController.PushViewController(cc, true); 
    cc.LoadData(item, DateTime.Now.AddDays(-30), null, string.Format("&Filter={0}{2};Equal;{1}", item.Field, item.Tag, 
    item.Field == "http://schemas.cid.biz/ps/nlp/entities" ? ",Label" : string.Empty), null); 
    cc.SetupNavigationBar(); 
    loadingDialog.DismissWithClickedButtonIndex(0, true); 
} 
} 

答えて

5

あなたは、なぜあなたは奇妙な動作を取得しているかもしれないですGUIスレッド、上UIAlertViewを提示していない、試してみてください。

InvokeOnMainThread(delegate{ 
    loadingDialog.Show(); 
}); 
0

SRYコードのフォーマットと悪い何か。

public void EnterCloudControl(TagCloudItem item) 
    { 
     using(UIAlertView loadingDialog = new UIAlertView("title", "message", null, "ok", null)) 
     { 
      loadingDialog.Show(); 
      MyContentCloudController cc = new MyContentCloudController(ContentFrame, this); 
      NavigationController.PushViewController(cc, true); 
      cc.LoadData(item, DateTime.Now.AddDays(-30), null, string.Format("&Filter={0}{2};Equal;{1}", item.Field, item.Tag, 
      item.Field == "http://schemas.cid.biz/ps/nlp/entities" ? ",Label" : string.Empty), null); 
      cc.SetupNavigationBar(); 
      loadingDialog.DismissWithClickedButtonIndex(0, true); 
     } 
    } 
関連する問題