当前位置: 首页 > 知识库问答 >
问题:

无法启动activity ComponentInfo二进制XML文件行#13:inflating类com时出错。谷歌。Android布料appbar。材料工具栏

程俊力
2023-03-14

我对这个似乎无法解决的错误感到困惑。下面是我的代码

import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.doopisoft.dspots.adapter.ListViewAdapter;
import com.doopisoft.dspots.adapter.SearchAdapter;
import com.doopisoft.dspots.model.SearchModel;
import com.doopisoft.dspots.model.User;
import com.doopisoft.dspots.ui.main.ViewPagerAdapter;
import com.doopisoft.dspots.utils.SessionManager;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.tabs.TabLayout;
import androidx.annotation.RequiresApi;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;
import butterknife.BindView;
import static com.doopisoft.dspots.utils.SessionManager.login;

public class MainActivity extends AppCompatActivity implements SearchAdapter.ItemListener{
    RecyclerView recyclerView;
    MaterialToolbar toolBar;
    AppBarLayout appBarLayout;
    ListViewAdapter listViewAdapter;
    SearchAdapter searchAdapter;
    ShowSearchView showSearchView;
    private ImageView image_search_back;
    private CardView card_search;
    private RelativeLayout view_search;
    String text = "";
    private View line_divider, toolbar_shadow;
    private EditText edit_text_search;
    List<SearchModel> modelsList, filterModels;
    List<SearchModel> cuisinesModels;
    @BindView(R.id.action_search)
    MenuItem actionSearch;
    @BindView(R.id.notification)
    MenuItem notification;
    boolean editTextChangedFromClick = false;
    ListView listView;
    SessionManager sessionManager;
    User user;
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sessionManager = new SessionManager(MainActivity.this);
        user = sessionManager.getUserDetails("");
        showSearchView = new ShowSearchView();
        toolBar = (MaterialToolbar) findViewById(R.id.toolbar2);
        view_search = (RelativeLayout) findViewById(R.id.view_search);
        card_search = (CardView) findViewById(R.id.card_search);
        line_divider = findViewById(R.id.line_divider);
        toolbar_shadow = findViewById(R.id.toolbar_shadow);
        edit_text_search = (EditText) findViewById(R.id.edit_text_search);
        image_search_back = (ImageView) findViewById(R.id.image_search_back);
        recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        appBarLayout = findViewById(R.id.appBar);
        listView = (ListView) findViewById(R.id.listView);
        TextView no_results = (TextView) findViewById(R.id.txtNoResultsFound);
        listView.setEmptyView(no_results);
        image_search_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                text = "";
                showSearchView.handleToolBar(MainActivity.this, card_search, toolBar, view_search, recyclerView, edit_text_search, line_divider);
                toolbar_shadow.setVisibility(View.VISIBLE);
                listViewAdapter = new ListViewAdapter(modelsList);
                listView.setAdapter(listViewAdapter);
            }
        });

这是布局

<androidx.coordinatorlayout.widget.CoordinatorLayout
    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="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBar"
        android:theme="@style/Theme.MaterialComponents.DayNight.DarkActionBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <com.google.android.material.appbar.MaterialToolbar
            android:id="@+id/toolbar2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|enterAlways"
            app:menu="@menu/menu_main"
            app:title="@string/app_name" />
        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabGravity="fill"
            app:tabMode="fixed"
            app:layout_scrollFlags="scroll|enterAlways"/>
        </com.google.android.material.appbar.AppBarLayout>
        <ListView
            android:id="@+id/listView"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginBottom="@dimen/corners_small_value"
            android:layout_marginLeft="@dimen/corners_small_value"
            android:layout_marginRight="@dimen/corners_small_value"
            android:visibility="invisible">
        </ListView>
        <View
            android:id="@+id/toolbar_shadow"
            android:layout_width="match_parent"
            android:layout_height="4dp"
            android:layout_below="@+id/toolbar"
            android:background="@drawable/toolbar_shadow" />
        <RelativeLayout
            android:id="@+id/view_search"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#50000000"
            android:clickable="true"
            android:elevation="10dp"
            android:visibility="invisible">
            <ProgressBar
                android:id="@+id/marker_progress"
                style="?android:attr/progressBarStyle"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_centerInParent="true"
                android:indeterminate="true"
                android:visibility="gone" />
        </RelativeLayout>
        <ListView
            android:id="@+id/listContainer"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#fff"
            android:clipToPadding="false"
            android:divider="#fff"
            android:paddingTop="56dp"
            android:visibility="gone" />
        <androidx.cardview.widget.CardView
            android:id="@+id/card_search"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_margin="4dp"
            app:layout_anchorGravity="top"
            app:cardElevation="200dp"
            app:cardCornerRadius="2dp">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <LinearLayout
                    android:id="@+id/linearLayout_search"
                    android:layout_width="match_parent"
                    android:layout_height="48dp">
                    <ImageView
                        android:id="@+id/image_search_back"
                        android:layout_width="48dp"
                        android:layout_height="48dp"
                        android:background="?android:attr/selectableItemBackground"
                        android:clickable="true"
                        android:padding="12dp"
                        android:src="@drawable/ic_arrow_back" />
                    <EditText
                        android:id="@+id/edit_text_search"
                        android:layout_width="120dp"
                        android:padding="4dp"
                        android:layout_height="match_parent"
                        android:layout_weight="1"
                        android:background="@drawable/rounded_editetext"
                        android:focusable="true"
                        android:gravity="center_vertical"
                        android:hint="@string/search_area_data"
                        android:imeOptions="actionSearch"
                        android:inputType="textCapWords"
                        android:maxLines="1"
                        android:paddingLeft="12dp"
                        android:paddingRight="8dp" />
                </LinearLayout>
                <View
                    android:id="@+id/line_divider"
                    android:layout_width="match_parent"
                    android:layout_height=".5dp"
                    android:layout_below="@+id/linearLayout_search"
                    android:background="#eee" />
                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/recyclerView"
                    android:paddingTop="2dp"
                    android:layout_width="match_parent"
                    android:layout_height="250dp"
                    android:layout_below="@+id/line_divider"
                    android:divider="#FFFFFF" />
            </RelativeLayout>
        </androidx.cardview.widget.CardView>
        <TextView
            android:id="@+id/txtNoResultsFound"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:visibility="gone"
            android:padding="@dimen/activity_horizontal_margin"
            android:text="@string/no_results_found"/>
        <androidx.viewpager.widget.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:background="@color/white"
            android:src="@drawable/ic_baseline_add_24"
            android:layout_margin="@dimen/fab_margin"
            android:contentDescription="@string/report_your_case"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

这就是问题E/AndroidRuntime:致命异常:主进程:com。doopisoft。dspots,PID:8605 java。lang.RuntimeException:无法启动活动组件信息{.MainActivity}:android。看法充气异常:二进制XML文件行#13:二进制XML文件行#13:错误充气类com.google.Android布料appbar。android上的MaterialToolbar。应用程序。活动线程。在android上执行LaunchActivity(ActivityThread.java:3013)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:3148)。应用程序。服务器事务。启动ActivityItem。在android上执行(LaunchActivityItem.java:78)。应用程序。服务器事务。事务执行器。android上的executeCallbacks(TransactionExecutor.java:108)。应用程序。服务器事务。事务执行器。在android上执行(TransactionExecutor.java:68)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1861)。操作系统。汉德勒。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:193)。应用程序。活动线程。java上的main(ActivityThread.java:6819)。朗,反思一下。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:497)。Android内部的操作系统。合子体。main(ZygoteInit.java:912)由以下原因引起:android。看法充气异常:二进制XML文件行#13:二进制XML文件行#13:错误充气类com.google.Android布料appbar。MaterialToolbar由以下原因引起:android。看法充气异常:二进制XML文件行#13:充气类com时出错。谷歌。Android布料appbar。MaterialToolbar由以下原因引起:java。朗,反思一下。java上的InvocationTargetException。朗,反思一下。建造师。java上的newInstance0(本机方法)。朗,反思一下。建造师。android上的newInstance(Constructor.java:343)。看法更平坦。android上的createView(LayoutInflater.java:647)。看法更平坦。在android上创建ViewFromTag(LayoutInflater.java:807)。看法更平坦。android上的createViewFromTag(LayoutInflater.java:730)。看法更平坦。android上的rInflate(LayoutInflater.java:880)。看法更平坦。android上的rInflateChildren(LayoutInflater.java:841)。看法更平坦。android上的rInflate(LayoutInflater.java:883)。看法更平坦。android上的rInflateChildren(LayoutInflater.java:841)。看法更平坦。在android上充气(LayoutInflater.java:515)。看法更平坦。在android上充气(LayoutInflater.java:423)。看法更平坦。在androidx处充气(LayoutInflater.java:374)。appcompat。应用程序。appcompatidelegateimpl。androidx上的setContentView(AppCompateDelegateImpl.java:696)。appcompat。应用程序。应用程序活动。com上的setContentView(AppCompatActivity.java:170)。doopisoft。数据点。主要活动。android上的onCreate(MainActivity.java:65)。应用程序。活动android上的performCreate(Activity.java:7136)。应用程序。活动android上的performCreate(Activity.java:7127)。应用程序。仪器。android上的callActivityOnCreate(Instrumentation.java:1271)。应用程序。活动线程。在android上执行LaunchActivity(ActivityThread.java:2990)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:3148)。应用程序。服务器事务。启动ActivityItem。在android上执行(LaunchActivityItem.java:78)。应用程序。服务器事务。事务执行器。android上的executeCallbacks(TransactionExecutor.java:108)。应用程序。服务器事务。事务执行器。在android上执行(TransactionExecutor.java:68)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1861)。操作系统。汉德勒。android上的dispatchMessage(Handler.java:106)。操作系统。活套。android上的loop(Looper.java:193)。应用程序。活动线程。java上的main(ActivityThread.java:6819)。朗,反思一下。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:497)。Android内部的操作系统。合子体。main(ZygoteInit.java:912)由以下原因引起:java。lang.UnsupportedOperationException:未能解析索引29处的属性:android上的TypedValue{t=0x2/d=0x7f0400c6 a=6}。所容纳之物Darray先生。getColorStateList(TypedArray.java:546)E/AndroidRuntime:at androidx。appcompat。小装置。达雷。androidx上的getColorStateList(TintTypedArray.java:184)。appcompat。小装置。工具栏。(Toolbar.java:341)在com上。谷歌。Android布料appbar。材料工具栏。(MaterialToolbar.java:78)在com上。谷歌。Android布料appbar。材料工具栏。如果你能帮助我,我将不胜感激。我的问题在哪里?提前谢谢

共有1个答案

上官凯歌
2023-03-14

在布局中,“材质”工具栏的高度应为“包裹内容”。

 <com.google.android.material.appbar.MaterialToolbar
     android:layout_width="match_parent"
     android:layout_height="wrap_content"/>
 类似资料: