我有一个“活动”,其中包含两个片段A和B。默认情况下,片段A被托管。片段B从片段A开始。当用户按回片段B并假设已更改某些数据时,首先我使用B中的以下代码杀死片段B:
if (getActivity() != null) {
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
if (fragmentManager != null) {
getActivity().getSupportFragmentManager().popBackStackImmediate();
}
}
我的问题:
我怎么知道片段B已被片段A甚至“活动”“杀死”? 我想在杀死B时刷新A中的数据。
类似
if (B.isKilled()) {
refreshDataInA();
}
我希望能够同时使用ACTIVITY和片段B。
谢谢!
答案 0 :(得分:1)
在您的A片段中,onResume方法添加
#include <cstdio>
#include <string>
#include <iostream>
int main()
{
const std::string input = "[(1.2,3.4)-(6.5,7.4)]";
double a, b, c, d;
if (std::sscanf(input.c_str(), "[(%lf,%lf)-(%lf,%lf)]", &a, &b, &c, &d) == 4)
{
std::cout << "a=" << a << '\n';
std::cout << "b=" << b << '\n';
std::cout << "c=" << c << '\n';
std::cout << "d=" << d << '\n';
}
else
{
std::cout << "Did not parse!\n";
}
}
// Output:
//
// a=1.2
// b=3.4
// c=6.5
// d=7.4
尝试一下。