2013-11-27 2 views
0

Я получаю эту ошибку при реализации фрагмента tabhost.Фрагмент не может быть добавлен в android.support.v4.app.Fragment

В основном я пытаюсь вызвать действие в виде табуляции, которое расширяет фрагмент.

Я также пробовал с расширением FragmentActivity, но он дает ошибку в методе onCreateView. При удалении аннотации @override из метода onCreateView и запуске приложения приводят к следующей ошибке.

11-27 20:54:06.937: E/AndroidRuntime(4255): FATAL EXCEPTION: main 
    11-27 20:54:06.937: E/AndroidRuntime(4255): java.lang.ClassCastException: com.variouscal.calculators.FragmentTab1 cannot be cast to android.support.v4.app.Fragment 
    11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.support.v4.app.Fragment.instantiate(Fragment.java:394) 
    11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:339) 
    11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.support.v4.app.FragmentTabHost.onTabChanged(FragmentTabHost.java:307) 
    11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:391) 
    11-27 20:54:06.937: E/AndroidRuntime 

(4255):  at android.widget.TabHost.setCurrentTab(TabHost.java:376) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.view.View.performClick(View.java:4084) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.view.View$PerformClick.run(View.java:16966) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.os.Handler.handleCallback(Handler.java:615) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.os.Handler.dispatchMessage(Handler.java:92) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.os.Looper.loop(Looper.java:137) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at android.app.ActivityThread.main(ActivityThread.java:4931) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at java.lang.reflect.Method.invoke(Method.java:511) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558) 
11-27 20:54:06.937: E/AndroidRuntime(4255):  at dalvik.system.NativeStart.main(Native Method) 
+0

введите код строки, в которой включена ваша ошибка, и класс FragmentTab1 – tyczj

+0

Вы пробовали проверить свои импорт, чтобы убедиться, что вы ссылаетесь на 'android.support.v4.app.Fragment' вместо' android.app.fragment '? –

ответ

1

Без кода это скорее догадка, но это звучит как ваш пытаются использовать android.app.Fragment с android.support.v4.app.Fragment, которые вы не можете сделать

+0

Спасибо ..... Он решил проблему .... –

3

Проблема заключается в том, что есть две версии Fragment:

  • android.app.Fragment
  • android.support.v4.app.Fragment

Не забудьте импортировать правильный и быть последовательным.