Почему ошибка компиляции?
Поскольку параметр в setSupportActionBar (панель инструментов) равен
android.support.v7.widget.Toolbar
а не
android.widget.Toolbar
Как это проверить?
setSupportActionBar
является частью AppCompatActivity
. Если вы хотите увидеть этот параметр, просто переопределите метод в вашем Activity и удалите импорт, он укажет, какой класс следует импортировать, чтобы избавиться от ошибки компиляции.
В чем разница?
Это довольно очевидно. Оба являются разными классами, один принадлежит к библиотеке поддержки, а другой - нет.
Сопряжение с AppCompatActivity
Все новые функции продолжают добавляться в библиотеки поддержки, чтобы у вас была одинаковая функциональность на всех уровнях API. Другими словами, библиотеки поддержки постоянно обновляются. Например, рекомендуется использовать android.support.v4.app.Fragment
с сопряжением с AppcompatActivity.
Таким образом, совместимость на всех уровнях API может быть причиной.
Точка: если ваша деятельность расширяет AppCompatActivity, тогда используйте
- android.support.v7.widget.Toolbar
- android.support.v4.app.Fragment
- android.support.v7.widget.RecyclerView и т. Д.