android– 从一个不起作用的常见活动扩展所有活动

android– 从一个不起作用的常见活动扩展所有活动,第1张

概述我有一个有四个活动的应用程序.所有这些活动应该包括顶部的工具栏和底部的TabLayout.TabLayout有4个标签.单击特定选项卡将进入四个活动之一.现在我想实现如下代码1)创建父活动.活动会扩展包含TabLayout的布局.2)所有其他四项活动都应扩展家长活动.这些活动有自己的xml布局.Pa

我有一个有四个活动的应用程序.所有这些活动应该包括顶部的工具栏和底部的TabLayout. TabLayout有4个标签.单击特定选项卡将进入四个活动之一.

现在我想实现如下代码

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文件中声明的内容.

我的预期是这个

这是我在发布后得到的.

解决方法:

如果您在扩展的活动中调用setContentVIEw(),它将完全替换您在ParentActivity中设置和初始化的布局.

相反,在ParentActivity的布局中包含内容VIEwGroup(例如,具有ID内容的FrameLayout),并将扩展活动的布局扩展到其中.这可以通过覆盖ParentActivity中的setContentVIEw(int)方法来完成,如下所示:

@OverrIDepublic voID setContentVIEw(int layoutResID) {    super.setContentVIEw(R.layout.activity_parent);    getLayoutInflater().inflate(layoutResID,        (VIEwGroup) findVIEwByID(R.ID.content));}

您还可以将所有扩展活动的公共设置和初始化移动到该覆盖中.

总结

以上是内存溢出为你收集整理的android – 从一个不起作用的常见活动扩展所有活动全部内容,希望文章能够帮你解决android – 从一个不起作用的常见活动扩展所有活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存