我的片段无法转换为 android.support.v4.app.Fragment
Posted
技术标签:
【中文标题】我的片段无法转换为 android.support.v4.app.Fragment【英文标题】:My fragment cannot be cast to 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 ComponentInfocom.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 的活动)正在工作......只是这个片段部分不起作用......
【问题讨论】:
【参考方案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
【讨论】:
以上是关于我的片段无法转换为 android.support.v4.app.Fragment的主要内容,如果未能解决你的问题,请参考以下文章
android.support.v7.view.menu.ActionMenuItemView 无法转换为 android.widget.Button
android.support.v4.app.FragmentTabHost 无法转换为 android.widget.LinearLayout
android.support.v4.app.FragmentManager无法转换为android.app.FragmentManager
无法从 android.app.FragmentManager 转换为 android.support.v4.app.FragmentManager
无法将类型“Android.Support.V4.App.Fragment”转换为“Android.Gms.Maps.MapFragment”
膨胀类 android.support.v7.app.AlertController.RecycleListView 时出错