Помилка роздування класу android.support.v7.widget.Toolbar?


82

Я намагаюся отримати Material Design для мого додатка, дотримуючись цього методу .

Щоразу, коли я запускаю програму, вона показує таку помилку:

Помилка роздування класу android.support.v7.widget.Toolbar.

Я перевірив, чи правильно додав appcompat. Але це все правильно для мене. Тож скажіть, будь ласка, що я роблю не так?

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.2'

    defaultConfig {
        applicationId "io.bxbxbai.feedlistviewdemo"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles 'proguard-rules.pro'
        }
    }
}

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(':materialDesign')
    compile 'com.balysv.materialmenu:material-menu:1.4.0'
    compile 'com.android.support:appcompat-v7:21.+'
}

Logcat

02:11.641  20583-20583/io.bxbxbai.feedlistviewdemo E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: io.bxbxbai.feedlistviewdemo, PID: 20583
    java.lang.RuntimeException: Unable to start activity ComponentInfo{io.bxbxbai.feedlistviewdemo/io.bxbxbai.androiddemos.MainActivity}: android.view.InflateException: Binary XML file line #3: Error inflating class android.support.v7.widget.Toolbar
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2224)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2283)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5158)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #3: Error inflating class android.support.v7.widget.Toolbar
            at android.view.LayoutInflater.createView(LayoutInflater.java:620)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
            at android.view.LayoutInflater.parseInclude(LayoutInflater.java:816)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at io.bxbxbai.androiddemos.MainActivity.onCreate(MainActivity.java:31)
            at android.app.Activity.performCreate(Activity.java:6144)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2283)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5158)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at android.view.LayoutInflater.createView(LayoutInflater.java:594)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
            at android.view.LayoutInflater.parseInclude(LayoutInflater.java:816)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at io.bxbxbai.androiddemos.MainActivity.onCreate(MainActivity.java:31)
            at android.app.Activity.performCreate(Activity.java:6144)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2283)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5158)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NoSuchMethodError: android.support.v4.content.ContextCompat.getDrawable
            at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:133)
            at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)
            at android.support.v7.widget.Toolbar.<init>(Toolbar.java:248)
            at android.support.v7.widget.Toolbar.<init>(Toolbar.java:190)
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at android.view.LayoutInflater.createView(LayoutInflater.java:594)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
            at android.view.LayoutInflater.parseInclude(LayoutInflater.java:816)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:745)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at io.bxbxbai.androiddemos.MainActivity.onCreate(MainActivity.java:31)
            at android.app.Activity.performCreate(Activity.java:6144)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2181)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2283)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5158)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
            at dalvik.system.NativeStart.main(Native Method)

РЕДАГУВАТИ

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimaryDark"/>

Activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity"
        tools:ignore="MergeRootFrame">

        <include android:id="@+id/toolbar" layout="@layout/toolbar" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_feed_list_demo"
            android:text="@string/feed_list_demo"/>

    </RelativeLayout>

@GabrieleMariotti See the Edit ..
AruLNadhaN

Також мала цю проблему і через деякий час зрозуміла, що я просто забув зробити MyActivity розширенням ActionBarActivity замість Activity. Може комусь допомогти
MathieuMaree

@ArulNadhan, ти знайшов рішення? У мене така сама проблема.
Вільям Гранд,

@WilliamGrand Дивіться відповідь ...
AruLNadhaN

1
Для мене помилкою було те, що я використовував <android.widget.Toolbar /> замість <android.support.v7.widget.Toolbar />
Ajith Memana

Відповіді:


74

Якщо ви використовуєте нові реалізації androidx , під час набору панелі інструментів Studio самозавершить її до android.support.v7.widget.Toolbar, але androidx.appcompat.widget.Toolbarзамість цього слід використовувати , інакше ви отримаєте цю помилку.


@Gudin, де справді описані ці залежності?
bzal

2
Документація для цього точно не оновлена, щоб включити androidx Дякую за цю відповідь!
Аман Алам

Дивно, що це все-таки річ. Дякуємо за ваш допис, це заощадило багато часу.
William T. Mallard

37

Вибачте хлопці. Я давно вирішив це питання. Я зробив багато змін. Тож я не можу зрозуміти, хто з них робить трюк.

  1. Я змінив ідентифікатор, як запропонував Джаред Берроуз.

  2. Вилучив мою бібліотеку підтримки та очистив мій проект, і Ре додав його.

  3. Перейдіть у меню Файл -> Вимкнути кеш / перезапустити.

Сподіваюся, це працює.

Ось так зараз виглядає мій код

Activity.xml

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include
        android:id="@+id/toolbar_actionbar"
        layout="@layout/toolbar_default"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar_actionbar">

        <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

        <fragment
            android:id="@+id/fragment_drawer"
            android:name="com.arul.anahy.drawer.NavigationDrawerFragment"
            android:layout_width="@dimen/navigation_drawer_width"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            app:layout="@layout/fragment_navigation_drawer"/>
    </android.support.v4.widget.DrawerLayout>
</RelativeLayout>

toolbar_default.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    style="@style/ToolBarStyle"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="@dimen/abc_action_bar_default_height_material"/>

ToolBarStyle

<style name="ToolBarStyle" parent="">
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
        <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
 </style>

У моєму випадку я зробив третій крок, як запропоновано вище.
Gem

@dimen/abc_action_bar_default_height_materialпозначено як приватний. Просто попередження, яке можна проігнорувати?
hgoebl

Заміна батьківського = "AppTheme.NoActionBar" на батьківський = "" вирішила мою проблему.
Gurvinder Singh

29

Це трапилося зі мною, коли я намагався використовувати свій старий код у новому андроїді з реалізаціями androidx. змінити своє визначення XML на;

<androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
            app:titleTextColor="@android:color/white" />

потім у вашому коді Java;

import androidx.appcompat.widget.Toolbar;

1
Дякую, брате, це була відповідь, яку я шукав :)
Мукеш Чаухан

24

Я зміг вирішити цю проблему, замінивши наступне:

У макеті Панелі інструментів замініть все, що є таким:

android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"

з

android:minHeight="@dimen/abc_action_bar_default_height_material"
android:background="@color/myColor"

Дякую за відповідь.
Мехер,

android: background = "? attr / colorPrimary" це потрібно видалити, оскільки панель інструментів не любить жодних елементів матеріалу, що задіяні
TSG anti SO dark

для api 19 і нижче
TSG проти SO темні сили

Велике спасибі, Ти врятував мій день
Ахіл

6

Я вирішив цю проблему в цьому блозі: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html

Проблема полягає у тому, що ви використовуєте неправильну тему, ви можете вибрати тему, яка подобається Theme.AppCompat.NoActionBar, у моєму проекті це працює.

Сподіваюся допомогти вам。


Це вирішило це для мене, що працював у Xamarin, я не задавав тему діяльності.
Повідомлення Impatica

6

У мене була та ж проблема, що і у мене була версія 23.2.0 бібліотеки AppCompat. Я оновив бібліотеку suppport до 23.2.1, і проблема була вирішена.

Це питання панелі інструментів вирішено в 23.2.1


це може бути найновіше виправлення. оновіть ваш sdk.
ralphgabb

2
У 23.3.0 я бачу звіти про збої лише для користувачів 4.4.2
Гілліс Хасноут

5

Будь ласка, прочитайте цю публікацію в блозі Google: http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html

<android.support.v7.widget.Toolbar
    android:id="@+id/my_awesome_toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary" />

Крім того, ви двічі присвоюєте йому однаковий "ідентифікатор", вилучіть цей "ідентифікатор" із вашого включення:

<include android:id="@+id/toolbar" layout="@layout/toolbar" />

1
Чому б вам видалити простір імен? Крім того, щодо двох посилань на ідентифікатори, один ідентифікатор відноситься до екземпляра панелі інструментів у макеті, а інший - ідентифікатора ресурсу. Отже, я думаю, вам потрібні обидва.
Вільям Гранд,

@WilliamGrand Я не впевнений, коли він "відредагував" свою публікацію. Тепер я бачу, що його панель інструментів знаходиться в окремому файлі, залишаючи простір імен нормально. Є два однакові "ідентифікатори", і він використовує include, щоб перенести цей макет в інший макет. Йому не потрібен "ідентифікатор" на включенні.
Джаред Берроус,

1
Ідентифікатор включення просто замінить ідентифікатор, який використовується для цього елемента в макеті, як тільки він буде завищений; це особливість include. Поки він використовує правильний ідентифікатор у своєму коді, це нічого не зашкодить.
Lorne Laliberte

3

Я стикаюся з тією ж проблемою, але це було після того, як я оновився до appcompatv23.2.0. Я спробував усі вищезазначені пропозиції, але не працюю. Потім я перейшов до свого файлу Gradle і замінив:

dependencies {
compile 'com.android.support:appcompat-v7:23.2.0’
compile 'com.android.support:design:23.2.0'

}

з:

dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
}

Відновіть проект, і проблема зникла. Це може бути проблемою з додатком compact v23.2.0, сподіваємось, з’явиться краще рішення, щоб ми могли працювати з новим оновленням.

Сподіваюся, це допомагає. Дякую.


compile 'com.android.support:design:23.0.1'цей код вирішив мою проблему
Мохаммед Тавфік,

3

Я вирішив цю проблему, змінивши файл app build.gradle.

Для плагіна Gradle 2.0+

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }  

Для плагіна Gradle 1.5

 android {  
   defaultConfig {  

     generatedDensities = []  
  }  

  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

3

Я знаю, що це старе запитання, але нещодавно я зіткнувся з цим самим питанням. Це закінчилося тим , що проблема Proguard (коли я ставлю minifyEnabledна falseце зупинилося відбувається.)

Щоб зупинити це, з увімкненим proguard, я додав у свій файл правил proguard наступне, завдяки рішенню, яке я знайшов в іншому місці (після виявлення, що проблема була proguard)

-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

Не впевнений, чи потрібні вони, але я також додав такі рядки:

-keep class com.google.** { *; }
-keep interface com.google.** { *; }

2
Це мені допомогло, оскільки я отримую цю помилку лише у версії build.
Рахул Чандрабхан,

1

Я зіткнувся з такою ж проблемою. Рішення, яке спрацювало для мене. Якщо ви використовуєте v7.Toolbar, ви повинні використовувати тему, розширену з Theme.AppCompat. * Ви не можете використовувати тему, розширену з android: Theme.Material. *, Оскільки вони мають різні атрибути стилю.

Сподіваюся, це допоможе.


1

Я видалив ці рядки, як показано нижче:

до:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar1"
    android:layout_width="match_parent"
    android:layout_height="@attr/actionBarSize"
    android:minHeight="@attr/actionBarSize"
    android:layout_alignParentTop="true" >

після:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar1"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentTop="true" >

Замість "@ attr / actionBarSize" поставити конкретні розміри, це працює для мене.


1

Щоб вирішити цю проблему. спочатку потрібно додати latestandroid-support-v7-appcompat із \ sdk \ extras \ android \ support

  1. Закрийте основний проект.
  2. Видаліть android-support-v7-appcompat.
  3. Перезапустіть Eclipse.
  4. Додайте android-support-v7-appcompat.
  5. Чисто, для побудови проекту.
  6. Потім відкрийте основний проект і побудуйте всі проекти.
  7. Помилка все ще залишається. Перезапустіть затемнення. Це воно.

Це працює для мене, і я настійно рекомендую вам використовувати Android Studio.


1

Це працювало у мене: додайте компіляцію 'com.android.support:appcompat-v7:21.0.3' до gradle. Змініть ціль sdk на 21. Сподіваємось, це працює для вас!


1

Для мене це спрацювало після того, як я зробив:

  • Очисний розчин.
  • Видалення програми з телефону, на якому я її налагодив.
  • Закриття Visual Studio.
  • Видалення папок / bin / та / obj / в проектах Android.
  • Запуск розчину знову.

1

Жодне з наведених вище рішень не спрацювало для мене.

У моєму проекті не було панелі інструментів, але я отримав ту ж помилку.

Я очистив проект, видалив програму. Потім я запустив збірку gradlew --refresh-зависимостей і виявив, що у файлах xml було кілька подій onclick без відповідного коду.

Я їх видалив, відновив проект, і це спрацювало.

Залежності не здавалися оновленими, але це вже інша історія.


1

У випадку Xamarin у VS, ви повинні додати

Theme = "@style/MyThemesss"

до вашої активності.cs.

Я додаю це і продовжую.


1

У моєму випадку я отримував цю помилку у винятку Inflation у Imageview, у нижчих версіях та ОС льодяник.

Я вирішив цей виняток під час переміщення всього файлу зображень у папці, що малюється, v-24, до папки, яку можна малювати.


0

У мене були проблеми з включенням панелі інструментів у RelativeLayout, спробуйте LinearLayout. Якщо ви хочете накласти панель інструментів, спробуйте:

 <RelativeLayout>

    <LinearLayout>
      --INCLUDE tOOLBAR--
    </LinearLayout>

    <Button></Button>

 </RelativeLayout>

Я не розумію, чому, але це працює для мене.


0

Незрозуміло, чому ця помилка сталася зі мною, але я вирішив. Я використовував однаковий макет, вбудований або з використанням include, обидва вони спричиняють помилку NPE. Тому я думаю, що це не проблема макета.

У мене був абстрактний виклик класу BaseActivity розширює ActionBarActivity, який має метод initActionBar (). Я перевизначаю і викликаю цей метод у OnCreate дочірнього класу. Щось таке:

android.support.v7.app.ActionBar mActionBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_book_appointment);

    // Inject View using ButterKnife
    ButterKnife.inject(this);

    // Init toolbar & status bar
    initActionBar();
}

@Override
protected void initActionBar() {
    super.initActionBar();

    setSupportActionBar(mToolBar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mActionBar = getSupportActionBar();
    mActionBar.setDisplayHomeAsUpEnabled(true);
    mActionBar.setHomeButtonEnabled(true);
}

У мене була помилка NPE з наведеним кодом. Я НЕ ЗНАЮ, ЧОМУ Я НЕПРАВИТИ. Я РІШЮЮ ЗА НИЖЧИМ КОДОМ І ВИДАЄТЬСЯ ТАКОЖ

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_book_appointment);
    ButterKnife.inject(this);

    setSupportActionBar(mToolBar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    mActionBar = getSupportActionBar();
    mActionBar.setDisplayHomeAsUpEnabled(true);
    mActionBar.setHomeButtonEnabled(true);

    initActionBar();
}

@Override
protected void initActionBar() {
    super.initActionBar();
}

0

У моєму випадку проблема полягала у виклику inflater.inflate (R.layout.some_layout, null). Проблемою було значення Null як параметр ViewGroup.


0

Рішення проблеми для мене було знайдено в документі XML для моєї основної діяльності. Спочатку моєю панеллю інструментів була <android.support.v7.widget.Toolbar. Щоб вирішити це питання, я змінив його на <android.widget.Toolbar. Я не знаю, чому це спрацювало. Хтось має якесь розуміння, чому?


<android.support.v7.widget.Tolbar - це підтримка попередніх льодяникових пристроїв. Ви можете прочитати це android-developers.blogspot.in/2014/10/…
Сагар Деванга

0

Проблема полягала в пристроях, що передували лоліпоп. Я зміг вирішити цю проблему, замінивши наступне:

У макеті Панелі інструментів замініть все, що є таким:

android:layout_height="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"

з

android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"

0

Для мене помилка полягала в тому, що я мав:

    <android:support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"/>

замість:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"/>

Зокрема, у мене в першому рядку замість крапки була двокрапка між "android" та "support".


Не розумію, як це могло комусь допомогти.
ichalos

@ichalos це може служити безкоштовною альтернативою zone.msn.com/en/spotthedifference
obe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.