Android - 标题栏和操作栏在自定义列表项膨胀后消失 xml

Android - Titlebar and Actionbar is gone after inflate xml for custom list items

我想创建一个包含自定义项的列表。因此,我在本教程中创建了一个新的 list_item.xmlhttp://www.tutorialsbuzz.com/2014/03/watsapp-custom-listview-imageview-textview-baseadapter.html

在我的 activity_main.xml 它在 Android Studio 中是这样显示的:

但是在模拟器中是这样显示的,没有titleBar,也没有actionBar:

我的list_item.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"
    android:padding="2dp">
    <ImageView
        android:id="@+id/profile_pic"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:contentDescription="desc"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" />

    <TextView
        android:id="@+id/alias"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/profile_pic"
        android:paddingBottom="10dp"
        android:text="txt"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/public_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="txt"
        android:textSize="16sp"
        android:layout_below="@+id/alias"
        android:layout_toEndOf="@+id/profile_pic" />

    <TextView
        android:id="@+id/contact_type"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="txt"
        android:textSize="16sp"
        android:layout_alignBottom="@+id/alias"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

我的activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:theme="?attr/actionBarTheme"
            android:minHeight="?attr/actionBarSize"
            android:id="@+id/main_toolbar" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/ic_locked"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true"
            android:layout_marginStart="13dp"
            android:id="@+id/btn_lock" />

        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/main_toolbar"
            android:layout_alignParentStart="true"
            android:id="@+id/contact_list" />

    </RelativeLayout>

</android.support.design.widget.CoordinatorLayout>

自定义适配器等其他代码与教程中的代码相同,只是重命名了一些variables/ids。我的 MainActivity.java 也扩展了 AppCompatActivity 除了 Activity.

试试这个布局,为了让工具栏显示在 Coordinator 布局中, 它必须在 AppBarLayout 内(这又必须是 CL 的第一个 Child)

剩余的内容视图可以是任何带有 ScrollFlags 的布局

 <android.support.design.widget.CoordinatorLayout
        <AppbarLayout>
               <toolbar>
         </AppBarLayout>
    //Main Content View
    <RelativeLayout 
        app:scroll_flags = "@string/scrollingBehaviour"-->this is important`
 </RelativeLayout>