2015-04-16 49 views
0

我想在TabHost的ListView中創建一個TabHost,並且我得到了轉換錯誤。在TabHost中添加TabHost:不能轉換爲android.support.v4.app.Fragment 5

enter code here Process: com.example.vaidenv2, PID: 30623 
java.lang.ClassCastException: com.example.vaidenv2.FQAGeneralFragment cannot be cast to android.support.v4.app.Fragment 
     at android.support.v4.app.Fragment.instantiate(Fragment.java:420) 
     at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:343) 
     at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:280) 
     at android.view.View.dispatchAttachedToWindow(View.java:13406) 
     at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707) 
     at android.view.ViewGroup.addViewInner(ViewGroup.java:3919) 
     at android.view.ViewGroup.addView(ViewGroup.java:3733) 
     at android.view.ViewGroup.addView(ViewGroup.java:3678) 
     at android.view.ViewGroup.addView(ViewGroup.java:3654) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:968) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136) 
     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) 
     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499) 
     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:456) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5221) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

這裏是我的代碼片段,

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentTabHost; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 



public class FAQFragment extends Fragment{ 
FragmentTabHost mTabHost = null; 

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    mTabHost = new FragmentTabHost(getActivity()); 

    mTabHost.setup(getActivity(), getChildFragmentManager(), 
      android.R.id.tabcontent); 

    mTabHost.addTab(mTabHost.newTabSpec("sub1").setIndicator("General"), 
      FQAGeneralFragment.class, null); 

    mTabHost.addTab(mTabHost.newTabSpec("sub2").setIndicator("Endor"), 
      FQAEndorFragment.class, null); 


    return mTabHost; 
    } 
} 

可能有人幫我看看怎麼解決這個問題。庫和包都是最新版本。

回答

1

Logcat錯誤指向FQAGeneralFragment作爲錯誤。 我不知道FQAGeneralFragment類型。我懷疑它不是android.support.v4.app.Fragment類的類型。我認爲FQAGeneralFragment是在另一個Java文件中定義的,並且您需要導入android.support.v4.app.Fragment

請檢查並獲得樂趣...

+0

是的,你是對的!適用於我。謝謝 ! – Maggie

+0

@Maggie,您可以點擊對勾圖標選擇我的答案爲最佳答案。謝謝。由於您是Stackoverflow(SO)的新手,請閱讀其教程@ http://stackoverflow.com/tour。你將獲得聲望點和徽章。歡迎來到SO社區,盡情享受吧! –

相關問題