Я делаю свое первое приложение для Android и хотел бы получить прямо в ICS API. Я до сих пор создал приложение с помощью ActionBar, с помощью проверочных вкладок с помощью Viewpager и Fragments.
У меня есть некоторые ошибки, которые я продолжаю возвращать.
В зависимости от того, как я его реализую, он всегда возвращается к ошибке "Ошибка несоответствия типа": "невозможно преобразовать из android.support.v4.app.Fragment в android.app.Fragment". Я попытался удалить все ссылки на импорт, и эта ошибка появляется, когда я использую только файл android.support.v4.app.Fragment в TabListener, FragmentActivity и моих двух фрагментах.
Ошибка в моем TabListener:
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.util.Log;
public class TabListener implements ActionBar.TabListener {
private android.app.Fragment fragment;
private Activity activity;
private ViewPager pager;
private FragmentTransaction ft;
public TabListener(Activity activity, Fragment fragment, ViewPager pager) {
this.activity = activity;
this.fragment = fragment;
this.pager = pager;
}
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft){
if (fragment == null) {
ft.add(fragment, null);
} else {
ft.attach(fragment);
}
}
@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft){
// TODO Auto-generated method stub
}
@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction ft){
// TODO Auto-generated method stub
}
}
Удалив "android.app.FragmentTransaction ft", заменив его просто "FragmentTransaction ft", проблема будет решена. Затем возникают новые проблемы:
Метод onTabReselected (ActionBar.Tab, FragmentTransaction) типа TabListener должен переопределить или реализовать метод супертипа TabListener.java
Метод onTabSelected (ActionBar.Tab, FragmentTransaction) типа TabListener должен переопределить или реализовать метод супертипа TabListener.java
Метод onTabUnselected (ActionBar.Tab, FragmentTransaction) типа TabListener должен переопределить или реализовать метод супертипа TabListener.java
Тип TabListener должен реализовать унаследованный абстрактный метод ActionBar.TabListener.onTabReselected(ActionBar.Tab, FragmentTransaction) TabListener.java
Тип TabListener должен реализовать унаследованный абстрактный метод ActionBar.TabListener.onTabSelected(ActionBar.Tab, FragmentTransaction) TabListener.java
Тип TabListener должен реализовать унаследованный абстрактный метод ActionBar.TabListener.onTabUnselected(ActionBar.Tab, FragmentTransaction) TabListener.java
Что происходит здесь?
Как вы понимаете, я новичок в разработке Java и Android. Я чувствую себя довольно близко, но я не могу решить эту проблему. Я не понимаю, почему он хочет "конвертировать из android.support.v4.app.Fragment в android.app.Fragment, когда я даже не импортирую файл android.app.Fragment в любом месте.
Я предполагаю, что это связано с использованием пакета совместимости. (Должен ли я использовать этот пакет вообще при создании приложения для самой новой версии SDK?)