我已滑动标签。在每个选项卡/片段上我想调用一个名为B(或报告)的片段。所以我实现的是在每个滑动选项卡片段中,我有一个实例化B /报告片段的按钮:
private void testReport(){
FragmentManager fm = getFragmentManager();
fragt = fm.beginTransaction();
report = new Report();
fragt.replace(R.id.container, report);
fragt.addToBackStack("report");
fragt.commit();
}
然后在我的B /报告片段中,我有以下代码:一个应该返回滑动选项卡片段的按钮和一个更改计数器按钮。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_report, container, false);
}
int cnt = 0;
TextView txtt;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final Context context = getActivity().getApplicationContext();
endt = (Button) getActivity().findViewById(R.id.endt);
Button chgt = (Button) getActivity().findViewById(R.id.chgt);
txtt = (TextView) getActivity().findViewById(R.id.txtt);
endt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getActivity().getFragmentManager().popBackStack();
}
});
chgt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cnt++;
txtt.setText(Integer.toString(cnt));
}
});
}
我有以下问题:
Q1 - 布局:我认为膨胀新布局会创建一个新视图。在我的应用程序中,我获得了滑动选项卡的布局,并且报告片段的布局都是活动的。
Q2 - 片段堆栈:我认为addtobackstack和popbackstack允许在片段A中调用片段B,当任务在片段B中完成时,我可以返回片段A.在我的情况下,两个片段都在同样的,即使我调用getActivity()。getFragmentManager()。popBackStack()