У меня сейчас есть любопытная проблема, пытаясь одновременно использовать v4 и v7 (actionbar) совместимые библиотеки.ActionBarActivity и FragmentActivity ... «Неконвертируемые типы»?
Предположим, у меня есть свой класс активности, который расширяет ActionBarActivity, с одной стороны, и, с другой стороны, фрагмент, внутри которого я называю «(MyActivity) getActivity()».
Я проверил импорт, а мой Фрагмент - фрагмент v4.
В фрагменте v4 при вызове функции getActivity() возвращается функция FragmentActivity.
Я также проверил: ActionBarActivity расширяет FragmentActivity.
Теперь вот моя проблема: У меня нет никакой ошибки в редакторе (без красной линии). Я использую Android Studio. Когда я пытаюсь «Сделать» проект, компилятор возвращает ошибку для каждого раза, когда я вызываю «getActivity» внутри моего фрагмента. Он говорит мне, что у него есть FragmentActivity, но ожидается ActionBarActivity и говорит мне, что эти классы несовместимы. Это прерывает, и я даже не могу проверить свое приложение.
Это может быть проблема с конфигурацией градиента, но я добавил компиляцию компиляции «com.android.support:appcompat-v7:18.0.+» в разделе «dependencies» моего файла build.gradle, как сказал на этой странице:? «http://developer.android.com/tools/support-library/setup.html», и это ничего не меняет ...
Любая идея
EDIT: Как adddition к моей вчерашней почте, даже если все объяснить, прежде чем , вот некоторые части кода и сообщение об ошибке Android-Studio дает мне:
Прежде всего, моя деятельность:
...
import android.support.v7.app.ActionBarActivity;
...
public abstract class MyAbstractActivity extends ActionBarActivity{
//Do some stuff here
}
Каждое действие моего приложения распространяется на этот класс.
Теперь вот мой фрагмент:
...
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
...
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Do some stuff...
((MyAbstractActivity)getActivity()).getSupportActionBar().setTitle(R.string.app_name);
}
//Do some stuff...
}
об ошибке не отображается в редакторе. Но когда я «Сделать» проект, я получаю это сообщение в «Журнале событий»:
компиляции укомплектованный 5 ошибок и 0 предупреждений в 4 сек
В «Сообщения Make» часть, я могу увидеть это каждый раз, когда я пытаюсь бросить "getActvity()" в "MyAbstractActivity":
Java: неконвертируемые типы необходимые: com.myapps.abstracts.MyAbstractActivity найдено: android.support. v4.app.FragmentActivity
Вы добавили бросок в 'ActionBarActivity'? Вы уверены, что ваш' Fragment' является 'androi.support.v4.app.Fragment', а не' android.app.Fragment'? – CommonsWare
Спасибо для вашего ответа. Что касается активности, она расширяет ActionBarActivity, и в моем фрагменте я передал результат «getActivity» в мой класс Activity. И, как я уже сказал, я проверил свой фрагмент, и это действительно androi.support. v4.app.Fragment. –
Спасибо за редактирование sabadow, я не знал, как отступать код ... Извините ... –