[解決済み] アンドロイドスタジオでAppCompat ActionBarの読み込みに失敗し、不明なエラーが発生する
2022-02-17 07:59:37
質問
以下は私の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'
関連
-
[解決済み] シンボル 'context' を解決できない
-
[解決済み】Android: Intent エラーを処理するアクティビティは見つかりませんでしたか?どのように解決するのか
-
[解決済み】Edit Textのandroid:ems属性とは何ですか?[重複しています]
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み】getCheckedRadioButtonId()が無駄なintを返す?
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】Android ADB デバイスがオフラインで、コマンドを発行できない。
-
[解決済み] シンボル 'context' を解決できない
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み】アンドロイドクロームブラウザのモバイルウェブアプリケーションのメニューでHTMLユニコード ☰が検出されない。
-
[解決済み] Mockito lenient() を使用する場合
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] 複数のデバイスを接続しているときにADB Shellを使用するには?error: more than one device and emulator "で失敗します。
-
[解決済み] Android Studioのレンダリングに関する問題