无法启动活动 ComponentInfo 二进制 XML 文件第 13 行:膨胀类 com.google.android.material.appbar.MaterialToolbar 时出错
Posted
技术标签:
【中文标题】无法启动活动 ComponentInfo 二进制 XML 文件第 13 行:膨胀类 com.google.android.material.appbar.MaterialToolbar 时出错【英文标题】:Unable to start activity ComponentInfo Binary XML file line #13: Error inflating class com.google.android.material.appbar.MaterialToolbar 【发布时间】:2021-06-05 10:22:11 【问题描述】:我对这个似乎无法解决的错误感到非常困惑。 下面是我的代码
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_
android:layout_
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_
android:layout_>
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar2"
android:layout_
android:layout_
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_
android:layout_
app:tabGravity="fill"
app:tabMode="fixed"
app:layout_scrollFlags="scroll|enterAlways"/>
</com.google.android.material.appbar.AppBarLayout>
<ListView
android:id="@+id/listView"
android:layout_
android:layout_
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_
android:layout_
android:layout_below="@+id/toolbar"
android:background="@drawable/toolbar_shadow" />
<RelativeLayout
android:id="@+id/view_search"
android:layout_
android:layout_
android:background="#50000000"
android:clickable="true"
android:elevation="10dp"
android:visibility="invisible">
<ProgressBar
android:id="@+id/marker_progress"
style="?android:attr/progressBarStyle"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone" />
</RelativeLayout>
<ListView
android:id="@+id/listContainer"
android:layout_
android:layout_
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_
android:layout_
android:layout_margin="4dp"
app:layout_anchorGravity="top"
app:cardElevation="200dp"
app:cardCornerRadius="2dp">
<RelativeLayout
android:layout_
android:layout_>
<LinearLayout
android:id="@+id/linearLayout_search"
android:layout_
android:layout_>
<ImageView
android:id="@+id/image_search_back"
android:layout_
android:layout_
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_
android:padding="4dp"
android:layout_
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_
android:layout_
android:layout_below="@+id/linearLayout_search"
android:background="#eee" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:paddingTop="2dp"
android:layout_
android:layout_
android:layout_below="@+id/line_divider"
android:divider="#FFFFFF" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/txtNoResultsFound"
android:layout_
android:layout_
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_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_
android:layout_
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: 致命异常: main 进程:com.doopisoft.dspots,PID:8605 java.lang.RuntimeException:无法启动活动 ComponentInfo.MainActivity:android.view.InflateException:二进制 XML 文件第 13 行:二进制 XML 文件第 13 行:膨胀类 com.google.android.material.appbar.MaterialToolbar 时出错 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3013) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3148) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:6819) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912) 引起:android.view.InflateException:二进制 XML 文件第 13 行:二进制 XML 文件第 13 行:膨胀类 com.google.android.material.appbar.MaterialToolbar 时出错 原因:android.view.InflateException: Binary XML file line #13: Error inflating class com.google.android.material.appbar.MaterialToolbar 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Constructor.newInstance0(本机方法) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:343) 在 android.view.LayoutInflater.createView(LayoutInflater.java:647) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:807) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:880) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:841) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:883) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:841) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696) 在 androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170) 在 com.doopisoft.dspots.MainActivity.onCreate(MainActivity.java:65) 在 android.app.Activity.performCreate(Activity.java:7136) 在 android.app.Activity.performCreate(Activity.java:7127) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2990) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3148) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1861) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:6819) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:912) 原因:java.lang.UnsupportedOperationException:无法解析索引 29 处的属性:TypedValuet=0x2/d=0x7f0400c6 a=6 在 android.content.res.TypedArray.getColorStateList(TypedArray.java:546) E/AndroidRuntime:在 androidx.appcompat.widget.TintTypedArray.getColorStateList(TintTypedArray.java:184) 在 androidx.appcompat.widget.Toolbar.(Toolbar.java:341) 在 com.google.android.material.appbar.MaterialToolbar.(MaterialToolbar.java:78) 在 com.google.android.material.appbar.MaterialToolbar.(MaterialToolbar.java:74) 如果您能帮助我,我将不胜感激。我的问题可能出在哪里?提前致谢
【问题讨论】:
***.com/help/how-to-ask 由于您是社区新手,请通过此链接 【参考方案1】:在您的布局中,材质工具栏的高度应为 wrap_content。
<com.google.android.material.appbar.MaterialToolbar
android:layout_
android:layout_/>
【讨论】:
谢谢,但这不是问题所在。以上是关于无法启动活动 ComponentInfo 二进制 XML 文件第 13 行:膨胀类 com.google.android.material.appbar.MaterialToolbar 时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何修复无法启动活动 ComponentInfo.....:java.lang.NullPointerException [重复]
Android 错误:无法启动活动 ComponentInfo..?
无法启动活动 ComponentInfo...add_team:java.lang.NullPointerException [重复]
安装 Android SDK Build-Tools 26 后无法启动活动 ComponentInfo...
无法启动活动 ComponentInfo java.lang.RuntimeException:无法创建 webview