첫 번째 Android 앱을 만들고 ICS API를 바로 사용하려고합니다. 지금까지 ViewPager와 Fragments를 사용하여 스 와이프 가능한 탭이있는 ActionBar를 사용하는 앱을 만들었습니다.android.support.v4.app.Fragment에서 android.app.Fragment로 변환 할 수 없습니다.
그러나 저는 계속해서 오류가 발생합니다.
구현 방법에 따라 항상 "유형 불일치"오류로 계속 진행됩니다. "android.support.v4.app.Fragment에서 android.app.Fragment로 변환 할 수 없습니다."오류가 계속 발생합니다. 둘 중 하나에 대한 모든 가져 오기 참조를 제거하려고했는데이 오류는 tabListener, FragmentActivity 및 내 두 조각에서 android.support.v4.app.Fragment 만 사용할 때 나타납니다.
오류 내 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
}
}
그냥 "하여 FragmentTransaction 피트"로 대체 "android.app.FragmentTransaction 피트"를 제거함으로써, 문제는 awawy 간다. 그런 다음 새로운 문제가 발생합니다.
The method onTabReselected(ActionBar.Tab, FragmentTransaction) of type TabListener must override or implement a supertype method TabListener.java
The method onTabSelected(ActionBar.Tab, FragmentTransaction) of type TabListener must override or implement a supertype method TabListener.java
The method onTabUnselected(ActionBar.Tab, FragmentTransaction) of type TabListener must override or implement a supertype method TabListener.java
The type TabListener must implement the inherited abstract method ActionBar.TabListener.onTabReselected(ActionBar.Tab, FragmentTransaction) TabListener.java
The type TabListener must implement the inherited abstract method ActionBar.TabListener.onTabSelected(ActionBar.Tab, FragmentTransaction) TabListener.java
The type TabListener must implement the inherited abstract method ActionBar.TabListener.onTabUnselected(ActionBar.Tab, FragmentTransaction) TabListener.java
What 's going here?
이해할 수 있겠지만 저는 Java 및 Android 개발을 처음 사용합니다. 나는 거의 비슷해 보이지만이 문제를 해결할 수는 없습니다. 나는 android.app.Fragment에서 android.app.Fragment로 변환 할 이유가 무엇인지 이해하지 못한다. 어디서나 android.app.Fragment를 가져 오지 않을 때라도
나는 그것이 (최신 버전의 SDK 용 앱을 만들 때이 패키지를 사용해야합니까?)
나는 알고 있습니다. 지원 패키지를 사용할 필요가 없어지려고했지만 FragmentPagerAdapter에 다른 문제가 생겼습니다. "android.app.FragmentPagerAdapter"로 가져올 수 없습니다. > 반환 유형이 FragmentPagerAdapter.getItem (int)과 호환되지 않습니다. MainFragmentActivity.java Fragment mFragment = LatestFragment.newInstance (position)입니다. – SLekvak
API 레벨 11 이상의 빌드 타겟을 가지고 * and * Android Support 패키지를 사용하는 것이 합리적입니다. – CommonsWare
@CommonsWare : 지원 패키지 (v4)가 API 레벨 11 (v13 패키지가 내 마음에 들지 않음)의 기능을 기반으로 작성되었지만 op의 경우 ICS (API> 13) 용으로 개발할 때 패키지 내용물이 추가 패키지없이 지원되어야합니까, 아니면 제가 잘못 되었습니까? – Jave