【问题标题】:Fragments within ActionBarActivityActionBarActivity 中的片段
【发布时间】:2014-07-05 21:50:18
【问题描述】:

我已经在几个小时内搜索了 ActionBarActivity 中的多个意图和片段的示例。我正在从 Deitel 系列和其他信息丰富的资源中学习 android 编程。我面临的障碍是从使用 Fragments 的两个意图的简单“Hello World”程序开始,但我从中学习的资源不包含扩展 ActionBarActivity 的示例,但它们都扩展了 Activity。

对我来说,障碍是使用其可用方法从 ActionBarActivity 中膨胀片段。如果我能完成这个简单的任务,我的学习曲线会非常出色。

【问题讨论】:

  • 你能提供一些你尝试过的代码吗?

标签: android android-activity fragment


【解决方案1】:

ActionBarActivity 扩展 FragmentActivity,扩展 Activity。所以,Activity 所做的所有事情,ActionBarActivity 也会这样做。

ActionBarActivity 提供对ActionBar 的访问和控制,而FragmentActivity 提供FragmentManager,用于管理您的Fragments

ActionBarActivity 为您提供所有这些功能。

网络上有很多例子,这个网站是正确的起点。

【讨论】:

    【解决方案2】:

    这是我认为你不明白的地方。

    1。 ActionBarActivity 与 Activity

    ​​>

    不用担心 ActionBarActivity 与 Activity。 ActionBarActivity 扩展了 Activity,因此所有在 Activity 中有效的代码都存在于 AcctionBarActivity 中。请检查此link

    2。通货膨胀

    通常我所做的就是为我的每个片段创建一个单独的类,

    public class Fragment1 extends Fragment{
    // in the onCreateView I create a rootView & inflate.
    final View rootview = inflater.inflate(R.layout.your_layout_file, container,false);
    // Now you can use rootView to call all your Activity functions. Such as findView 
    //onClick etc.
    return rootview;
    

    3。在 MainActivity 中

    这完全取决于您想要构建应用程序的方式。但当然你必须有一个 getCount 和 getItem 函数。像这样。

    @Override
    public Fragment getItem(int i){
        switch (i) {
            case 0:
                return new Fragment1();
    
            case 2:
               return new Fragment2();
            }
    }
    
    @Override
    public int getCount() {
        return 2;
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多