看了类似的问题后,我找不到为什么有Error inflating class android.support.v7.widget.Toolbar
以及如何解决它。
首先在我的main_activity.java
中,导入在其他问题上发现的两个androidx语句,并为工具栏添加了两行,如图in point 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
中,我在the point 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>
我做错了什么或应该更改什么?
答案 0 :(得分:1)
您的Toolbar
导入错误。使用androidx
而不是支持lib版本。
在您的xml中使用androidx.appcompat.widget.Toolbar
代替android.support.v7.widget.Toolbar
有关更多信息,请参见this。
您指向的guide尚未更新,并且正在使用旧的支持工件。就像处理其他组件一样,移至工具栏的androidx.*
版本。
答案 1 :(得分:1)
在您的androidx.appcompat.widget.Toolbar
中使用android.support.v7.widget.Toolbar
代替main_activity.xml