簡體   English   中英

Xamarin Android-關閉DialogFragment

[英]Xamarin Android - Dismiss DialogFragment

我已經看過關於如何關閉DialogFragment的幾個不同的主題,但似乎對我沒有任何幫助。 當我從具有的click事件切換到新的Activity時,我希望能夠關閉DialogFragment。 我通過在click事件中使用類似於this.Activity.Dismiss()進行了嘗試,但也從顯示DialogFragment的位置進行了嘗試:

if (_exportFragment != null)
            {
                _exportFragment.Dismiss();
            }

但是這些似乎都不起作用。

編輯

這是我顯示DialogFragment的地方:

gridview.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs args)
            {
                // DIALOG FRAGMENT
                FragmentTransaction ft = FragmentManager.BeginTransaction();
                //Remove fragment else it will crash as it is already added to backstack
                Fragment prev = FragmentManager.FindFragmentByTag("dialog");
                if (prev != null)
                {
                    ft.Remove(prev);
                }

                ft.AddToBackStack(null);

                // Create and show the dialog.
                _exportFragment = new VideoExportDialogFragment();
                _exportFragment.VideoCreationDate = VideoList[args.Position].CreationDate;
                //_exportFragment.
                _exportFragment.VideoPathFragment = VideoListPosition(args.Position);

                //_exportFragment.ThumbnailActivity = this;
                //Add fragment
                _exportFragment.Show(ft, "dialog");
                dismissLoader();
            };
        }

        private void dismissLoader()
        {
            if (_exportFragment != null)
            {
                _exportFragment.Dismiss();
            }
        }

當我從具有的click事件切換到新的Activity時,我希望能夠關閉DialogFragment。

在此單擊事件,你可以找到dialogFragment要通過關閉FindFragmentByTag("dialog")的方法,那么你可以使用_exportFragment.Dismiss()來關閉此DialogFragment 像這樣的代碼:

bt.Click += (sender, e) =>
{
     MyDialogFragment _exportFragment = (MyDialogFragment)FragmentManager.FindFragmentByTag("dialog");
     if (_exportFragment != null)
     {
           _exportFragment.Dismiss();
     }
     //StartActivity(you);
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM