【问题标题】:My fragment cannot be cast to android.support.v4.app.Fragment我的片段无法转换为 android.support.v4.app.Fragment
【发布时间】:2013-03-21 23:12:23
【问题描述】:

我创建了一个非常简单的片段来测试我的应用程序,我收到以下错误消息:

03-31 16:04:39.834: E/AndroidRuntime(7860): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.team3.domore/com.team3.domore.TabActivity}: java.lang.ClassCastException: com.team3.domore.SomeFrag cannot be cast to android.support.v4.app.Fragment

我的片段真的很简单……

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

public class SomeFrag extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.alarm_frag, container, false);
    }

    @Override
    public void onStart() {
        super.onStart();
    }
}

请帮忙...我已经为此苦苦挣扎了将近两个小时..

编辑:我很确定我在哪里调用这个片段(一个扩展 FragmentActivity 的活动)正在工作......只是这个片段部分不起作用......

【问题讨论】:

    标签: android fragment


    【解决方案1】:

    你的SomeFrag 扩展了

    android.app.Fragment
    

    如导入中所述。将导入更改为

    android.support.v4.app.Fragment
    

    演员会成功。

    【讨论】:

    • 奇怪,我知道这篇文章已经过时了。但对于较新版本的 android studio 则相反。我将 android.support.v4.app.Fragment 更改为 android.app.Fragment
    • 我遇到了同样的问题,但按照你说的做确实消除了错误,但我的应用程序说由于某种原因崩溃了..
    • 为什么android studio默认创建android.app.fragment而不是android.support.v4.app.Fragment
    【解决方案2】:

    尝试更改以下导入

    import android.app.Fragment
    

    import android.support.v4.app.Fragment

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      相关资源
      最近更新 更多