2014-12-15 5 views

ответ

8

Эта ошибка возникает из-за того, что вы создаете объект и передаете его в другую ссылочную переменную класса. Поскольку getActionManager дает объект android.app.ActionBar, но вы пытаетесь присвоить объект класса android.app.ActionBar объекту android.support.v7.app.ActionBar.

Но оба этих класса обеспечивают ту же функциональность. android.support.v7.app.ActionBar Класс используется, когда наша версия -sdk min меньше api 11. для получения объекта ActionBar ниже api 11 нам нужен объект класса android.support.v7.app.ActionBar.

Чтобы получить панель действий, вам необходимо следовать одному из двух подходов.

  1. import android.support.v7.app.ActionBar и использовать оды активность getSupportActionBar() метода.

  2. перейти к AndroidManifest.xml файл и изменить <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" /> и импортировать android.app.ActionBar и использовать getActionBar()

1

Если поддерживаются уровни API ниже 11, и вам нужно будет добавить библиотеку поддержки v4 в свой проект для использования панели действий.

import android.support.v7.app.ActionBar 

Если поддерживать только уровень API 11 и выше:

import android.app.ActionBar 

Для получения дополнительной информации перейдите к Official Docs

0

Убедитесь, что у вас есть минимальный уровень апи в вашем файле манифеста выше 11. Из пакет android.support.v7.app.ActionBar поддерживается только на уровне api ниже. 11.

Итак, если вы хотите использовать ActionBar от import android.app.ActionBar, то у вас должен быть минимум 11-го уровня api в вашем файле манифеста. В противном случае вам нужно будет добавить библиотеку поддержки v4 в свой проект для пользователя панели действий из пакета android.support.v7.app.ActionBar.

-1

Если работает апи 11 и выше

import android.app.ActionBar; 

также, если он утверждает, что он уже существует обязательно удалите его

+1

Это уже упоминалось в [другом ответе] (https://stackoverflow.com/a/27482395/711006). – Melebius

+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – Isma

Смежные вопросы