我正在尝试使用3个标签创建一个简单的UI,每个标签都有自己独特的用途。我知道实现制表符的新方法是使用Actionbar和片段,但这对我来说很困惑,因为最后我的应用程序的所有逻辑当前都处于一个相当大的活动中,而我希望更多的功能分离受到鼓励该平台。我在这里做错了什么?
我和这里的绅士有很多共同之处:Android Layout Fragment/Activity Confusion ......不幸的是,他的大部分问题都没有得到解答。
...而且,我基本上完全了解了如何使用一个人在线示例中的Actionbar标签,在这里:http://arvid-g.de/12/android-4-actionbar-with-tabs-example。 (这里没有很多例子!)
这是获取Actionbar
并创建两个标签:
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab calendarTab = actionbar.newTab().setText("Calendar");
ActionBar.Tab logTab = actionbar.newTab().setText("Sleep Log");
Fragment calendarFragment = new CalendarFrag();
Fragment sleepLogFragment = new LogFrag();
calendarTab.setTabListener(new MyTabListener(calendarFragment));
logTab.setTabListener(new MyTabListener(sleepLogFragment));
actionbar.addTab(logTab);
actionbar.addTab(calendarTab);
以下是我在Fragment
创建的这些“子类”中的全部代码:
public class CalendarFrag extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.calendar, container, false);
}
}
我所做的一切都是夸大观点;它只是感觉有点不对劲。然后我有一个更长的活动,其中我有我的应用程序的所有逻辑,这也很烦人。不幸的是,我设置它的方式我需要动态生成进入视图的内容,如R.layout.calendar
,我必须在某处。
现在我遇到很多错误移动我的所有代码,我想知道它是否真的值得将其解决 - 最初我试图用TabHost和TabWidget做标签,所有这些,但它已被弃用。
我真的应该将所有代码放在一个活动中以填充三个标签吗?有没有更好的方法?我应该在哪里放入动态填充这些空片段的逻辑?在某种程度上,片段本身,或者在不同的活动中,我想是我喜欢的。