0

我有一個覆蓋活動,在我的應用程序執行長時間運行的操作之前啓動並在結束該操作後關閉它。 操作正常,但疊加活動未顯示。StartActivity代碼行在線程啓動之前未實際運行

btnVerify.Enabled = false; 
Intent i = new Intent(this, typeof(Overlay)); 
i.AddFlags(ActivityFlags.NewTask); 
StartActivity(i); 

new System.Threading.Thread(new System.Threading.ThreadStart(() => 
{ 
    RunOnUiThread(delegate 
    { 
     {  
      object Token = RSMobile.Class.BLL.Member.MemberData.GetActivationKey(PhoneNumber); 
      if (Token != null && !string.IsNullOrEmpty(Token.ToString())) 
      { 
       RSProperties.Token = Token.ToString(); 

       //ActivationKey sent to phonenumber,waiting for enter that 
       Intent myIntent = new Intent(); 
       myIntent.PutExtra("PhoneNumber", PhoneNumber); 
       myIntent.PutExtra("IdLanguage", spLanguage.SelectedItemPosition); 
       myIntent.SetClass(this, typeof(CheckActivationKey)); 
       myIntent.AddFlags(ActivityFlags.NewTask); 
       StartActivity(myIntent); 
       //Finish(); 
      } 
      else 
      { 
       myToast.MakeText(this, "خطا در احراز هویت", ToastLength.Long); 
      } 

      btnVerify.Enabled = true; 
      Overlay.CurrentActivity.Finish(); 
     } 
    }); 
})).Start(); 

回答

0

我不建議使用Activity這個,如果你想長期運行的操作完成時,返回到上一畫面。

你可以只使用某種Android的View而不是覆蓋整個屏幕?一個不錯的選擇可能是ProgressDialog或只是一個View使用不確定的ProgressBar

+0

感謝您的回覆,我測試了ProgressBar,我想自定義和完整篩選像加載圖片的iOS進度設計,你能解釋我該怎麼做,或者認爲如果更好? –

+0

所以你需要做一個自定義的'View',看起來像你想要的,而不是一個完整的'Activity'。這傢伙有一個體面的演練:http://syedwasihaider.github.io/blog/2015/07/12/XamarinViews/ – jonathanpeppers

+0

謝謝你,我正在努力 –

相關問題