在列表中设置工具栏 Activity

Setting a toolbar in a List Activity

我有一个 ListActivity,我想在其中使用工具栏,但我收到无法解析 getSupportToolbar 的错误。在我的 main activity 中一切正常,但在这里出现错误。

在 Android 开发者博客 post 上找到了这段摘录。您必须将工具栏用作独立对象并添加您自己的项目。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.blah);

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);

    // Set an OnMenuItemClickListener to handle menu item clicks
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            // Handle the menu item
            return true;
        }
    });

    // Inflate a menu to be displayed in the toolbar
    toolbar.inflateMenu(R.menu.your_toolbar_menu);
}

据我所知,您还没有在 activity 中设置工具栏。首先你要设置应用主题为@style/Theme.AppCompat.Light.NoActionBar, 然后你必须在你的 MainActivity 中设置自定义工具栏 Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar_main_activity); setSupportActionBar(toolbar); TextView toolbar_title = (TextView) toolbar.findViewById(R.id.title_toolbar); getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

希望这能解决您的问题。

This is how I had set up a toolbar in my List Activity. I will post the layout file details

activity1.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar_activity"  />

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@android:id/list" />

</LinearLayout>


toolbar_activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/toolbar_parent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:minHeight="?attr/actionBarSize"
    android:background="@color/windowBackground"
    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

<Button
android:id="@+id/buttonReturn"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:background="@drawable/arrow_left" />

</RelativeLayout>