刚刚在Eclipse的最新ADT版本中创建了一个新项目,并发现它将为您设置某些环境以便开始。我选择Tabs + Swipe。
我对此代码有疑问:
public static class DummyFragment extends Fragment {
public DummyFragment () {
}
public static final String ARG_SECTION_NUMBER = "section_number";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
textView.setGravity(Gravity.CENTER);
Bundle args = getArguments();
textView.setText(Integer.toString(args.getInt(ARG_SECTION_NUMBER)));
return textView;
}
}
两个标签都引用同一个片段。它所做的就是切换TextView上具有标签位置编号的内容(1,2或3)。
首先提出更高级的问题:我想要选项卡切换到的两个不同的片段。在示例代码中,它指向相同的片段。这种变化发生在哪里?我能看到简短的代码示例吗?
更简单的问题:我有两个预先定义的XML布局,我想设置每个标签(或片段)。我是否在实际片段中这样做?如果是这样,在哪里? setContentView似乎没有在onCreateView方法中工作?
答案 0 :(得分:2)
不确定这个问题究竟是什么问题,但是如果我理解正确TabHost
(或者你用来管理Fragment
标签的任何内容)是实例化{的多个实例{1}}然后在单击选项卡时将每个附加到屏幕。这一切都是在幕后完成的......你需要担心的是实现DummyFragment
并告诉Fragment
何时应该实例化/显示它。
TabHost
没有Fragment
方法。您应该从setContentView
中的xml中提升Fragment
的布局。例如,
onCreateView