繁体   English   中英

如何添加工具栏?

[英]How to add the toolbar?

在查看了一些类似的问题后,我找不到为什么我有Error inflating class android.support.v7.widget.Toolbar以及如何修复它。

首先在我的main_activity.java我导入了在其他问题中发现的两个 androidx 语句,并为工具栏添加了 2 行,如第 5 点所示:

package com.example.tp01_android;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
...
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    final Context context = this;
    private ArrayList<String> itemslistArray = new ArrayList<String>();
    private EditText newItemTextField;
    private ArrayAdapter simpleAdapter;
    private FloatingActionButton fab;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // ------------------------------- TOOLBAR -------------------------------------------------
        **Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);**
   }
...

现在在我的main_activity.xml我按照第 4 点添加了我的工具栏

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context=".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:focusable="auto"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.98"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.389"
            app:srcCompat="@android:drawable/ic_input_add" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="28dp"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="Custom list:"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/listSimple" />


        <ListView
            android:id="@+id/listSimple"
            android:layout_width="397dp"
            android:layout_height="211dp"
            android:gravity="center_horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/editText">

        </ListView>

        <ListView
            android:id="@+id/customListView"
            android:layout_width="408dp"
            android:layout_height="294dp"
            android:gravity="center_horizontal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/editText2">

        </ListView>

        <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="Simple list:" />
    </androidx.constraintlayout.widget.ConstraintLayout>

</RelativeLayout>

我做错了什么或者我应该改变什么?

您的Toolbar导入错误。 使用androidx一个而不是支持 lib 版本。 在您的 xml 中使用androidx.appcompat.widget.Toolbar而不是android.support.v7.widget.Toolbar

有关更多信息,请参阅内容。

您指向的指南尚未更新,并且正在使用旧的支持工件。 像处理其他组件一样切换到androidx.*版本的工具栏。

main_activity.xml使用androidx.appcompat.widget.Toolbar而不是android.support.v7.widget.Toolbar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM