我试图弄清楚片段是如何工作的。我有 3 个类,MainActivity、Fragment1 和 Fragment2。
MainActivity 扩展了 SherlockFragmentActivity 和
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Fragment1 firstFragment = new Fragment1();
firstFragment.setArguments(getIntent().getExtras());
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container1, firstFragment).commit();
现在,我将 Fragment1 加载到我的 fragment_container 中,它显示得很好。
(所以 main_activity.xml 只有一个)
好的,Fragment1 扩展了 SherlockFragment,然后什么都不做
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment1layout, container, false);
所以我只是从我的 .xml 中膨胀它,它有一个文本视图和一个按钮。
现在我可以在世界上的哪个地方实例化 Button,并给他代码用 Fragment2 替换 Fragment1?
代码是什么,因为我现在“在 Fragment1 中”,所以我需要以某种方式与 Fragment holder 沟通并告诉它“用 Fragment2 替换我”。
Fragment2 还扩展了 SherlockFragment,并且什么都不做,将其膨胀为空的 .xml