1

LoadMoreElement オブジェクトを使用して、セルがクリックされたときにアクティビティ インジケーターを表示しようとしています。以下のコードは機能しますが、NavigationController オブジェクトは長時間実行され、アクティビティ インジケーターは NavigationController が作業を完了した後にのみ表示されます。この種のアプリは、しばらくハングしているように見え、画面上で点滅するだけなので、アクティビティ インジケーターを使用するという点が無効になります。

NavigationController オブジェクトがブロックしていると思います。そのため、AcitivityIndi​​cator が表示されません。これをバックグラウンドで完了するには、スレッドを使用する必要がありますか? どんな助けでも大歓迎です!

        var loadMore = new LoadMoreElement();
        loadMore.Caption = "Ratios";
        loadMore.NormalCaption = "Ratios";
        loadMore.LoadingCaption = "Loading Ratios...";
        loadMore.Tapped += delegate { loadMore.Animating = true; NavigationController.PushViewController(new FileListController(), true); };
        loadMore.Font = UIFont.FromName("Arial", 10);
        loadMore.TextColor = UIColor.Black;

        Root.Add(new Section() {                
            loadMore
        });    
4

1 に答える 1

0

InvokeOnMainThreadを使用してメイン スレッドで ActivityIndi​​cator を呼び出してから、新しい View コントローラーをプッシュしてみます。

于 2013-03-18T16:18:49.560 に答える