【问题标题】:Implementing a sidebar nav using android architecture components使用 android 架构组件实现侧边栏导航
【发布时间】:2017-07-20 16:29:50
【问题描述】:

随着android的新架构组件,你不能使用android提供的默认自动生成的导航抽屉类......为什么?因为它从 AppCompatActivity 扩展为工具栏等小部件提供 support.v7 lib 的使用。当现在使用新架构组件 Lifecycleactivity 而不是扩展 AppCompatActivity 时,您无法实现默认的导航抽屉类 - 谁能给我一个解决方法或一个例子如何做到这一点?

【问题讨论】:

    标签: android navigation-drawer android-architecture-lifecycle


    【解决方案1】:

    来自Lifecycle documentation

    注意: 由于架构组件处于 alpha 阶段,FragmentAppCompatActivity 类无法实现它(因为我们无法将稳定组件的依赖项添加到不稳定的 API)。在 Lifecycle 稳定之前,为方便起见,提供了 LifecycleActivityLifecycleFragment 类。 Lifecycles项目发布后,支持库片段和活动将实现LifecycleOwner接口; LifecycleActivityLifecycleFragment 届时将被弃用。

    他们继续提供instructions for implementing a LifecycleOwner,这使您可以避免使用LifecycleActivity

    public class MyActivity extends AppCompatActivity
        implements LifecycleRegistryOwner {
      LifecycleRegistry lifecycleRegistry = new LifecycleRegistry(this);
    
      @Override
      public LifecycleRegistry getLifecycle() {
        return lifecycleRegistry;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 2020-09-14
      • 2017-10-13
      相关资源
      最近更新 更多