【问题标题】:ClassCastException when trying to implement ListView in FragmentTabHost [duplicate]尝试在 FragmentTabHost 中实现 ListView 时出现 ClassCastException [重复]
【发布时间】:2013-08-22 13:18:06
【问题描述】:

我在适用于 2.3.3 及更高版本的应用程序中使用 ActionBarSherlock。在我在片段选项卡主机中的应用程序中,我试图在其中一项活动中实现 ListView 但我得到了 ClassCastException 。请在附件中找到必要的代码。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {


            // Create FragmentTabHost
            mTabHost = new FragmentTabHost(getSherlockActivity());
            // Locate fragment1.xml to create FragmentTabHostx
            mTabHost.setup(getSherlockActivity(), getChildFragmentManager(), R.layout.fragment1);
          // Create Tab 1

            mTabHost.addTab(
                    mTabHost.newTabSpec("tab1").setIndicator("ALL",
                            getResources().getDrawable(R.drawable.all)),
                    CreateEvent.class, null);
            //mTabHost.addTab(mTabHost.newTabSpec("tab1").setContent(R.drawable.fb).setIndicator("Tab 1"), CreateEvent.class, null);
                 // Create Tab 2
            mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("NEARBY",getResources().getDrawable(R.drawable.near_by)), CreateEvent.class, null);

            mTabHost.getTabWidget().setBackgroundColor(Color.GRAY);
            return mTabHost;
        }

CreateEvent.class 中有一个 listView。 public class CreateEvent extends SherlockListActivity implements OnItemClickListener{ }

Logcat

08-22 18:37:48.237: E/AndroidRuntime(917): FATAL EXCEPTION: main
08-22 18:37:48.237: E/AndroidRuntime(917): java.lang.ClassCastException: com.android.myapp.events.CreateEvent
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:339)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:276)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.View.dispatchAttachedToWindow(View.java:6156)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1122)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:1127)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewRoot.performTraversals(ViewRoot.java:765)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.os.Looper.loop(Looper.java:123)
08-22 18:37:48.237: E/AndroidRuntime(917):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-22 18:37:48.237: E/AndroidRuntime(917):  at java.lang.reflect.Method.invokeNative(Native Method)
08-22 18:37:48.237: E/AndroidRuntime(917):  at java.lang.reflect.Method.invoke(Method.java:507)
08-22 18:37:48.237: E/AndroidRuntime(917):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-22 18:37:48.237: E/AndroidRuntime(917):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-22 18:37:48.237: E/AndroidRuntime(917):  at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

  • 所以你想把一些Activity 转换成Fragment? ...祝你好运
  • 在 fragmenttabhost 我希望显示一个 ListView
  • 为了 FSM !!! CreateEvent 扩展 Activity 但它应该扩展 ListFragment 因为你正在使用 FragmentTabHost 并且你想要 ListView ...在 ABS API 中应该有一些类...

标签: android android-listview android-fragments actionbarsherlock android-fragmentactivity


【解决方案1】:

我试图用错误的方法解决问题。我使用this question 作为解决问题的指南。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多