对于选项卡式视图,我是否真的必须将所有代码放入单个活动中?

时间:2012-09-13 02:42:37

标签: android android-fragments android-actionbar actionbarsherlock android-tabs

我正在尝试使用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做标签,所有这些,但它已被弃用。

我真的应该将所有代码放在一个活动中以填充三个标签吗?有没有更好的方法?我应该在哪里放入动态填充这些空片段的逻辑?在某种程度上,片段本身,或者在不同的活动中,我想是我喜欢的。

0 个答案:

没有答案