![](/img/trans.png)
[英]Xamarin.Android ListView in DialogFragment is not Displayed
[英]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.