我有一个application
其中有四个activities
。所有这些活动应由顶部的toolbar
和底部的TabLayout
组成。 TabLayout
有4个选项卡。点击一个特定的tab
需要四个活动之一。扩展所有活动从一个不起作用的公共活动
现在我想实现的代码如下
1)创建一个父活动。该活动会扩展包含TabLayout的布局。
2)所有其他四项活动应扩展家长活动。这些活动有他们自己的xml布局。
ParentActivity.java
public class ParentActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
}
activity_parent.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="?attr/colorPrimary"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<android.support.design.widget.TabItem
android:text="One"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<android.support.design.widget.TabItem
android:text="Two"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<android.support.design.widget.TabItem
android:text="Three"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<android.support.design.widget.TabItem
android:text="Four"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</android.support.design.widget.TabLayout>
</RelativeLayout>
当我启动OneActivity我不能够得到的工具栏和我在ParentActivity创建的tablayout。我只收到我在OneActivity的xml文件中声明的内容。
我的预期UI是这个
这是我下水后得到的。
看来你想在你的标签4片段。不是4子类的活动 –
不。我想要四个活动。我在这里说明的例子非常简单。但在真正的应用程序中,我有四个活动,而这些活动又有碎片。 – thedarkpassenger
如果您在扩展活动中调用'setContentView()',它将完全替代您在'ParentActivity'中设置和初始化的布局。 –