android中的Activity vs Fragment

时间:2015-02-08 20:30:17

标签: android performance android-layout android-activity android-fragments

我是Android的新手,我很困惑的一件事是Fragment vs Activity。现在无处不在,建议您使用Fragment而不是Activity。

这是否意味着我应该将一个Activity和每个UI元素作为Fragment并通过片段事务处理用户操作。

所以我怀疑每个应用程序现在都有单个活动吗?如果不是,为什么需要额外的活动。

希望如果已经以其他方式回答,我很清楚也很抱歉。

由于

1 个答案:

答案 0 :(得分:2)

这个问题已经被问到了。但是,Fragment是UI的一部分。片段依赖于一个活动,它可以根据需要处理尽可能多的片段。

我认为你绝对不得不限制自己仅限于一项活动。虽然,这种模式(1活动+ N片段)证明对我有用。在我的应用程序中,一个简单的测验游戏,每个片段捕获用户操作并通过回调方式触发异步活动调用。

示例:

  // Implements the main view of the app (home page)
  public class HomeFragment extends Fragment {

    /**
     * A pointer to the current callbacks instance (an Activity).
     */
    private HomeMenuCallbacks callbacks;

    /**
     * Callbacks interface (implemented by the Activity)
     */
    public static interface HomeMenuCallbacks {
        /**
         * Called when an item in the navigation drawer is selected.
         */
        void onHomeMenuItemSelected(int position);
    }    
}

public class MainActivity extends Activity implements
        HomeFragment.HomeMenuCallbacks {

    @Override
    public void onHomeMenuItemSelected(int position) {
      // Do whatever action based on which 
      // item from the home page menu was selected
    }
}

检查此帖子是否有讨论,并链接到Android开发指南:Android - I need some clarifications of fragments vs activities and views