gpt4 book ai didi

android - 如何使用Xamarin在android上找到当前显示的 fragment

转载 作者:太空狗 更新时间:2023-10-29 16:16:51 33 4
gpt4 key购买 nike

我正在尝试找出一种方法来获取我正在使用的 Android 应用程序上当前显示的 fragment 。我有一个加载 fragment 的启动 View ,我需要做的是在用户点击后退按钮时显示弹出消息,但仅当用户点击某个 fragment 的后退按钮时才显示。例如:

fragment A > 导航到.. > fragment B > 导航到... > fragment C

如果用户单击 fragment C 中的后退按钮,则不会显示任何内容,用户会按预期返回到 fragment B。但是当用户点击返回 fragment B 时,会显示一个弹出窗口,要求用户在允许继续返回 fragment A 之前确认该操作,我希望这是有道理的。

我知道可以在 View 上重写的 OnBackPressed(),但我无法在 fragment 中触及它。任何指针将不胜感激。

最佳答案

你好,当你添加一个新的交易时,请使用 key 标签替换

var ft = FragmentManager.BeginTransaction();
ft.Replace(Resource.Id.details, details, "FRAGMENT1");

如果你需要检查指定 fragment 是否可见

Fragment myFragment = (Fragment)FragmentManager.FindFragmentByTag("FRAGMENT1");
if (myFragment.IsVisible){
//your code here
}

或者如果您需要获取并检查 fragment 管理器中的所有 fragment ,您可以使用它

var fragmentsarray = FragmentManager.Fragments;
foreach(var fragment in fragmentsarray)
{
if (fragment.IsVisible) {
//put the code to use and get the tag to identify the current Fragment
string tag = fragment.Tag;
}
}

如果需要更多指定 fragment 信息,您可以在此处查看 Android 文档 http://developer.android.com/reference/android/app/Fragment.html

希望对你有帮助

关于android - 如何使用Xamarin在android上找到当前显示的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905276/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com