56

Я добавил фрагмент в свой проект Android Studio, используя New > Fragment > Fragment (Blank). В результате, когда я пытаюсь запустить, проект не будет компилироваться, так как он не может разрешить R.drawable.abc_ic_ab_back_mtrl_am_alpha вошибка: не удается найти символьную переменную abc_ic_ab_back_mtrl_am_alpha

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha); 

Любые идеи, как решить эту проблему?

Похоже, я потерял доступ к android:buttonTint

+0

, с которой вы пытаетесь добавить изображение из деятельности или самого фрагмента? –

+0

Деятельность. Акт создания фрагмента через ярлык разбивает существующий код. Я еще ничего не сделал в Фрагменте. Просто это проблема. Даже после удаления фрагмента проблема сохраняется. –

+0

попытаться применить град –

ответ

1

Извините, что это не может быть ответом вы ищете, но это случилось со мной тоже всего несколько минут назад. Я был предупрежден Android Studio о том, что в моем файле Gradle появилась более новая версия «com.google.android.gms» и «com.android.support» - в то время я использовал 8.3.0 для первого и 23.1.1 для последнего, поэтому я обновился до 8.4.0 и 23.2.0, и именно тогда у меня возникла такая же проблема, как и у вас, и Android Studio подскочила к файлу values-v11.xml в библиотеке для диалоговых панелей материалов AFollestad и кажется, что вызывает проблемы, потому что это uses the AppCompat library.

EDIT: Только что найдено this, если вы используете материалы-диалоги, проверьте, находитесь ли вы в версии 0.8.5.5. Если нет, обновите его.

+0

Спасибо, он работает как очарование. БОГ БЛАСС ВАМ –

15

Похоже, что изображений в растровом формате больше нет из-за векторной реализации в библиотеке поддержки. Поэтому я помещаю этот векторный чертеж, который представляет ту же стрелку, что и в предыдущей версии библиотеки поддержки. Щелкните правой кнопкой мыши на вытяжке папку, New -> Drawable файл ресурсов и вставьте этот xml код:

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="24dp" 
    android:height="24dp" 
    android:viewportWidth="24" 
    android:viewportHeight="24"> 

    <path 
     android:pathData="M0 0h24v24H0z" /> 
    <path 
     android:fillColor="#ffffff" 
     android:pathData="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> 
</vector> 

Source

Для интерфейсов < 21 вы должны будете добавлять эти свойства в Gradle файл сборки:

Gradle Плагин 2.0+

android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 

Gradle Плагин 1,5

android { 
    defaultConfig { 
    generatedDensities = [] 
    } 

    // This is handled for you by the 2.0+ Gradle Plugin 
    aaptOptions { 
    additionalParameters "--no-version-vectors" 
    } 
} 

См this blog post для получения дополнительной информации.

2

У меня была эта проблема при обновлении библиотеки поддержки Android до версии 23.2.0

В моем случае, я использую библиотеку третьей стороной, которая вступает в противоречие.

Я решил перейти к новой версии библиотеки сторонних разработчиков, чтобы решить эту проблему.

159

Название ресурса было изменено в библиотеке поддержки 23.2.0.

Изменитьabc_ic_ab_back_mtrl_am_alphaвabc_ic_ab_back_material

Edit: В 23.2.1 имя компонента было изменено на abc_ic_ab_back_mtrl_am_alpha

Edit: В 24.0.0 название компонента было изменено на: abc_ic_ab_back_material

+4

Это должно быть принято как правильный ответ. – Tommie

+6

Не совсем. этот новый ресурс отмечен как private в appcompat-v7 – Danpe

+0

Я получаю сообщение об ошибке: 'не могу найти символьную переменную abc_ic_ab_back_material' –

6

В моем случае, я сделал, как этот

final ActionBar ab = mActivity.getSupportActionBar(); 
      ab.setHomeAsUpIndicator(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);