[解決済み] アンドロイドスタジオでAppCompat ActionBarの読み込みに失敗し、不明なエラーが発生する
2022-01-30 16:53:11
質問
以下は私のxmlファイルです。プレビューでは、「Failed to load AppCompat ActionBar with unknown error」と「Failed to instaniate more than one class」の2つのエラーがあります。しかし、アプリはクラッシュし、Logcatではエラーは表示されません。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="506dp" />
<LinearLayout
android:id="@+id/layout_main"
android:orientation="vertical"
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:weightSum="1"
tools:context=".Activity.MainActivity">
<LinearLayout
android:id="@+id/main_layout"
android:orientation="vertical"
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:layout_weight="0.7"
tools:context=".Activity.MainActivity">
<!-- our tablayout to display tabs -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/colorBlack"
app:tabTextColor="@color/colorWhite"
android:background="@color/colorOran"
android:minHeight="?attr/actionBarSize"
/>
<!-- View pager to swipe views -->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_alignParentBottom="true"
android:background="#ffffff"
android:orientation="horizontal"
android:layout_weight="0.3"
android:weightSum="4"
tools:layout_editor_absoluteX="8dp"
android:layout_marginBottom="8dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<ImageView
android:id="@+id/btn_home"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_home_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_new"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_todaydeals_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_fav"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_fav_icon"
android:background="@color/colorOran"
android:layout_marginRight="1dp"
android:scaleType="fitCenter"/>
<ImageView
android:id="@+id/btn_auth"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ta_franchie_icon"
android:background="@color/colorOran"
android:scaleType="fitCenter"
android:layout_marginRight="1dp"
/>
</LinearLayout>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
以下は appbar_main です。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.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"
tools:context="com.jeyashri.kitchen.jeyashriskitchen.Activity.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorOran"
app:popupTheme="@style/AppTheme.PopupOverlay">
<ImageView
android:id="@+id/app_logo"
android:layout_width="80dp"
android:layout_height="match_parent"
android:src="@drawable/img"/>
<ImageView
android:id="@+id/btn_social"
android:layout_width="75dp"
android:layout_height="35dp"
android:layout_marginRight="1dp"
android:src="@drawable/share_icon" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</android.support.design.widget.CoordinatorLayout>
解決方法は?
この問題の解決方法は、使用しているAndroidサポートライブラリのバージョンに依存します。
サポートライブラリ
26.0.0-beta2
このバージョンのアンドロイドサポートライブラリにはバグがあり、以下の問題が発生します。
Gradleのビルドファイルで使用してください。
compile 'com.android.support:appcompat-v7:26.0.0'
を使っています。
buildToolsVersion '26.0.0'
そして
classpath 'com.android.tools.build:gradle:3.0.0-alpha8'
は、すべて正常に動作するはずです。
ライブラリバージョン28(ベータ版)
これらの新しいバージョンは、また同じような問題に悩まされているようです。
あなたの
res/values/styles.xml
を修正します。
AppTheme
のスタイルから
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
になります。
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
(追加された
Base.
)
または、問題が修正されるまで、ライブラリをダウングレードしてください。
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
関連
-
[解決済み】Android: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み】プロガードを有効にすると、タスク ':app:crashlyticsStoreDeobsDebug' の依存関係を判断できない。
-
[解決済み】Build Tools リビジョン 23.0.1 の検索に失敗しました。
-
[解決済み】getCheckedRadioButtonId()が無駄なintを返す?
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】コンテンツには、id属性が「android.R.id.list」であるListViewが必要です。
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み】このアクティビティは、すでにウィンドウ装飾によって提供されるアクションバーを持っています。
-
[解決済み】ビューのルートとしてNULLを渡さないようにする(膨張したレイアウトのルート要素でレイアウトパラメータを解決する必要がある)。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] Looper.prepare()を呼び出していないスレッドではハンドラを作成できない
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] Android Studioのレンダリングに関する問題