Android 如何使活动在具有不同布局的情况下扩展基本活动?

Android 如何使活动在具有不同布局的情况下扩展基本活动?,android,navigation-drawer,Android,Navigation Drawer,我正在构建一个android应用程序,我希望所有的活动(屏幕)都有一个导航抽屉(除了标题外还包含一个图标),因此我发现继承是可能的,我尝试了这里提供的许多解决方案,但我无法解决难题(处理不同的布局)我必须这样做,但我们使用的是片段,所以对我来说非常简单。这可能对你有帮助 您需要一个基本活动布局 // res/layout/activity_base.xml <!-- parent layout --> <FrameLayout android:id="

我正在构建一个android应用程序,我希望所有的活动(屏幕)都有一个导航抽屉(除了标题外还包含一个图标),因此我发现继承是可能的,我尝试了这里提供的许多解决方案,但我无法解决难题(处理不同的布局)

我必须这样做,但我们使用的是片段,所以对我来说非常简单。这可能对你有帮助

您需要一个基本活动布局

// res/layout/activity_base.xml

<!-- parent layout -->
    <FrameLayout
        android:id="@+id/container"
    </FrameLayout>

<!-- drawer layout and other views -->
对于另一个希望具有DroperLayout的活动,只需扩展BaseActivity并使用setFragment设置片段。关键是FooActivity没有自己的活动布局,它使用BaseActivity布局并放置自己的片段

public class BaseActivity extends FragmentActivity{

  @Override
  protected void onCreate(Bundle savedInstance){
      setContentView(R.layout.activity_base.xml);

       // your rest of the code including drawer layout
  }

}


protected void setFragment(Fragment f){
    getSupportFragmentManager.beginTransaction()
         .replace(R.id.container,f)
         .commit()
}
public class FooActivity extends BaseActivity{

         @Override
      protected void onCreate(Bundle 
          setFragment(FooFragment.newInstance());
      }

}