【问题标题】:Activity vs Fragment in androidandroid中的活动与片段
【发布时间】:2015-02-08 20:30:16
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

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


【解决方案1】:

这个问题已经被问过了。但是,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

【讨论】:

  • 您认为您发布的代码与问题有关吗?以及您提供的链接应该在评论中
猜你喜欢
  • 1970-01-01
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多