在切换活动时,我正在失去活动栏

Posted

技术标签:

【中文标题】在切换活动时,我正在失去活动栏【英文标题】:On switching activity I am lossing activity bar 【发布时间】:2016-03-02 23:53:00 【问题描述】:

当我从一个活动切换到另一个活动时,我失去了应该显示活动标题的活动栏。

单击特定列表视图时,我会看到以下屏幕。

DetailAcivity的代码[第二张截图]:

public class DetailActivity extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        if(savedInstanceState == null )
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.detail_container, new DetailFragment())
                    .commit();

        
    

    public static class DetailFragment extends Fragment
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) 
            View rootView = inflater.inflate(R.layout.fragment_detail, container, false);

            Intent intent = getActivity().getIntent();
            String forcastString = intent.getStringExtra(Intent.EXTRA_TEXT);
            ((TextView)rootView.findViewById(R.id.detail_text)).setText(forcastString);

            return rootView;
        
    
 

详细活动布局如下:

activity_detail.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_
    android:layout_ android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:id="@+id/detail_container"
    tools:context="com.example.android.sunshine.DetailActivity">

</RelativeLayout>

fragment_detail.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    tools:context=".MainActivity$PlaceholderFragment">

    <TextView
        android:id="@+id/detail_text"
        android:layout_
        android:layout_>

    </TextView>


</LinearLayout>

那么谁能帮忙解释一下为什么我的标题栏不见了?

【问题讨论】:

你确定你没有为清单中的活动使用不同的主题。 不,我没有在清单中使用不同的主题 我在其中一个应用程序上也看到了这种行为 Zomato 餐厅应用程序。你可以做的是使用AppBarLayout 你可以为第一个活动添加代码吗? 放置第一张截图的代码 【参考方案1】:

您的DetailAcivity 中没有包含toolbar。在您的 DetailAcivity 中包含工具栏,就像您在第一个活动中包含它一样

【讨论】:

以上是关于在切换活动时,我正在失去活动栏的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在横向和纵向模式之间切换使 Intent 失去价值

切换回搜索栏处于活动状态时,选项卡栏视图变为空白

如何在单击 javascript 时使用导航栏链接切换活动类

导航栏活动元素在不应该在悬停时更改颜色?

视频播放停止时如何切换到活动

Android - 在不同活动之间切换时保存当前的 onCreate 状态